我有一个gradle项目,它依赖于另一个gradle项目。依赖关系正在发布到我们内部的nexus服务器,可以很好地解决。
一旦在本地缓存了依赖项,我就无法刷新它,除非我将--refresh-dependencies传递给gradle命令(或者从缓存中手动删除它)。
在互联网上搜索后,我发现很多人都有同样的问题,建议将依赖关系标记为更改(尽管这不是严格必要的,因为它是从名称-SNAPSHOT隐含的)并添加:< / p>
configurations.all {
resolutionStrategy.cacheChangingModulesFor 0, 'seconds'
}
然而,这对我不起作用,它将始终使用缓存版本,直到gradle默认24小时为止,然后它将重新下载。
有没有人知道我可能缺少什么,或者我如何诊断gradle正在做什么以及为什么不下载nexus下载新版本?
答案 0 :(得分:13)
经过一些反复试验后,我发现该功能未按预期运行的原因是因为我们使用的是spring-boot
插件。 spring-boot
插件使用自己的依赖关系管理插件,该插件有自己的配置用于更改模块:
dependencyManagement {
resolutionStrategy {
cacheChangingModulesFor 0, 'seconds'
}
}
将此片段添加到gradle文件会强制更改模块以便始终下载。