我正在尝试使用 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/