caching - 如何在本地缓存和使用gradle插件?

标签 caching gradle gradle-plugin

我正在尝试使用 Gradle 构建对互联网访问受限的应用程序。

我成功地能够使用普通的 jar

repositories {
    mavenLocal()
...

并使用适当的文件填充~\.m2\repository

但我也有这样的说法

plugins {
    id 'org.hidetake.ssh' version '2.4.0'
}

在我的build.gradle中。构建时出现以下错误

Error resolving plugin [id: 'org.hidetake.ssh', version: '2.4.0']
> Could not GET 'https://plugins.gradle.org/api/gradle/2.9/plugin/use/org.hidetake.ssh/2.4.0'.
   > Connection to https://plugins.gradle.org refused

显然,Gradle 正在尝试从互联网获取插件,这是禁止的。

如何缓存此插件?

在我的另一台具有完全互联网访问权限的计算机上,我发现了类似的目录

.gradle\caches

但它有一些奇怪的哈希子目录,我不知道如何使用。从另一台计算机复制 modules-2 目录没有帮助。

最佳答案

我想,新的插件 DSL 是不可能的,因为在这种情况下,插件是由它的全局唯一 ID 和版本指定的,这些 ID 和版本不会存储在您的缓存中。

您可以将某些本地插件存储库与所需的附加插件标记工件一起使用,请阅读 here .

或者只是不使用插件 dsl 并使用 apply plugin: 'plugin_name' 以简单的旧方式声明您的依赖项,并以相同的方式将所需的 jar 存储在本地存储库中,这已在您的项目中完成依赖关系。

关于caching - 如何在本地缓存和使用gradle插件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41035692/

相关文章:

caching - MongoDB 缓存计数器

java - 如何缩短 Gradle 依赖缓存文件夹名称?

具有 flavor 的 Android 主题模块

eclipse - 如何在gradle-wrapper属性中设置gradle的本地路径

gradle - 在 gradle 中为 liquibase 插件设置工作目录?

http - 禁用客户端缓存的最佳方法

performance - Chrome 加载资源很慢 `(from disk cache)`

android studio 3.1.4 离线模式

caching - ServiceStack 缓存包含对象/软件版本号

gradle - 如何将Jacoco插件与Gradle集成?