Gradle 不更新快照依赖项
Gradle does not update snapshot dependencies
我有一个 gradle 项目依赖于另一个 gradle 项目。依赖项正在发布到我们内部的 Nexus 服务器,可以很好地解决。
一旦依赖项被缓存到本地,我就无法刷新它,除非我将 --refresh-dependencies 传递给 gradle 命令(或从缓存中手动删除它)。
在网上搜索后,我发现很多人都有同样的问题,建议是将依赖项标记为正在更改(尽管这不是绝对必要的,因为它从名称 -SNAPSHOT 中隐含)并添加它:
configurations.all {
resolutionStrategy.cacheChangingModulesFor 0, 'seconds'
}
但是这对我不起作用,它将始终使用缓存版本,直到 gradle 默认 24 小时结束,然后它会重新下载它。
有谁知道我可能还遗漏了什么,或者我如何诊断 gradle 正在做什么以及为什么它不会连接到下载新版本?
经过反复试验,我发现该功能未按预期工作的原因是我们使用了 spring-boot
插件。 spring-boot
插件使用它自己的依赖管理插件,它有自己的更改模块配置:
dependencyManagement {
resolutionStrategy {
cacheChangingModulesFor 0, 'seconds'
}
}
将此代码段添加到 gradle 文件会强制始终下载更改模块。
我有一个 gradle 项目依赖于另一个 gradle 项目。依赖项正在发布到我们内部的 Nexus 服务器,可以很好地解决。
一旦依赖项被缓存到本地,我就无法刷新它,除非我将 --refresh-dependencies 传递给 gradle 命令(或从缓存中手动删除它)。
在网上搜索后,我发现很多人都有同样的问题,建议是将依赖项标记为正在更改(尽管这不是绝对必要的,因为它从名称 -SNAPSHOT 中隐含)并添加它:
configurations.all {
resolutionStrategy.cacheChangingModulesFor 0, 'seconds'
}
但是这对我不起作用,它将始终使用缓存版本,直到 gradle 默认 24 小时结束,然后它会重新下载它。
有谁知道我可能还遗漏了什么,或者我如何诊断 gradle 正在做什么以及为什么它不会连接到下载新版本?
经过反复试验,我发现该功能未按预期工作的原因是我们使用了 spring-boot
插件。 spring-boot
插件使用它自己的依赖管理插件,它有自己的更改模块配置:
dependencyManagement {
resolutionStrategy {
cacheChangingModulesFor 0, 'seconds'
}
}
将此代码段添加到 gradle 文件会强制始终下载更改模块。