我有一个包含大量依赖项的gradle项目,并且运行一个简单的任务(只是打印出类路径)大约需要12秒,即使已经下载了所有依赖项并且可以在缓存中使用。
如果我关闭网络接口并运行相同的任务,它会在大约一秒钟内完成。
所以,问题是为什么每次都要和互联网聊天?是否有一些我可以设置的标志,以使其更积极地使用缓存?我尝试使用Google搜索,并且有很多关于如何强制使用缓存的讨论,但我找不到任何相反的内容。
在回复评论中的问题时,我的repositories
配置如下所示:
repositories {
maven { url "${artifactoryUrl}/jcenter" }
maven { url "${artifactoryUrl}/libs-release-local" }
maven { url "${artifactoryUrl}/libs-snapshot-local" }
mavenCentral()
maven { url "http://maven.twttr.com" }
}
($artifactoryUrl
指向我们内部运行的神器实例。
答案 0 :(得分:2)
我知道如果你有一个依赖关系,你说你总是想要最新的版本,gradle必须检查所有的存储库,直到找到它。
如果您不希望gradle检查远程存储库并只使用其缓存,则可以使用--offline
标记(see here)。