Gradle Offline如何缓存依赖项

Ali*_*mie 5 linux android caching gradle build.gradle

我正在每晚在服务器上从Gradle签出存储库并建立它们的服务器上构建gradle,但是,有一个代理,gradle无法下载任何存储库。我尝试运行gradlew离线模式,然后收到一条错误消息,告诉我

“没有缓存版本的”,然后是依赖项的名称。

显然,这是因为我从未下载过依赖项,而是在考虑手动下载依赖项对它们进行缓存,并在构建可以访问它的服务器上使用gradle缓存。我的问题如下:

  1. 有什么方法可以手动下载.jar文件或.pom文件,然后将其缓存?
  2. 我将如何在$ Home / .gradle / caches目录中缓存一个jar文件?我尝试只是把它放在那儿,但是没用。

有任何想法吗?

ssc*_*rth 4

通常,Gradle 仅在需要时才按需检索依赖项。要让 Gradle 预先下载所有依赖项(从而填充本地缓存),您可以使用类似的任务

task resolveAllDependencies {
    description "Resolves all transitive dependencies (e.g. to build offline later)."

    doLast {
        configurations.all {
            it.resolve()
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

运行此任务后,您应该能够成功使用--offline.

  • 有什么办法可以在不同的计算机上使用相同的缓存吗?如果我复制缓存,使用 --offline 的构建仍然有效吗? (3认同)