【发布时间】:2016-10-10 13:35:43
【问题描述】:
我在服务器上进行夜间 gradle 构建,我从 git 签出存储库并构建它们。但是,有一个代理,gradle 无法下载任何存储库。我尝试运行 gradlew 离线模式,然后我收到一条错误消息告诉我
“没有缓存版本”,然后是依赖项的名称。
这显然是因为我从未下载过依赖项,我正在考虑手动下载依赖项缓存它们并在构建可以访问它的服务器上使用该 gradle 缓存。我的问题如下:
- 有什么方法可以手动下载 .jar 文件或 .pom 文件,然后缓存它们?_
- 如何在 $Home/.gradle/caches 目录中缓存 jar 文件?我试着把它放在那里,但它不起作用。
有什么想法吗?
【问题讨论】:
-
你不能用互联网运行构建吗?只要您不更改依赖项,您就应该能够从那时起离线构建。但这当然远非最佳解决方案。
-
你不能只在你的 gradle.properties 文件中配置代理吗?这将永久解决问题。无需离线模式。
-
我工作的公司不允许我配置代理....它需要离线构建
-
但是他们认为这应该如何工作?无论您是手动将所有依赖项放在本地 maven 存储库中,还是 Gradle 自动下载它们,这些依赖项仍然来自完全相同的位置——来自 jcenter 或 mavenCentral。这样做没有任何好处,只会增加更多不必要的工作。
-
但是我能想到的一种解决方案是让您的公司托管一个私有 maven 服务器 - 例如 Nexus 或 Artifactory - 然后从那里提取所有必需的依赖项。在这种情况下,您的公司将完全控制用于您的构建的依赖项,同时您和其他开发人员不必做任何复杂的配置来配置它。您只需在 build.gradle 文件中设置您的 maven 服务器,而不是 jcenter 或 mavenCentral。
标签: android linux caching gradle build.gradle