Gradle、mavenLocal() 和 --refresh-dependencies
Gradle, mavenLocal() and --refresh-dependencies
在我的 build.gradle 中声明以下内容时:
repositories {
mavenLocal()
}
我可以将类似的 Maven 工件(类似 = 完全相同的版本)重新部署到 Maven 本地,Gradle 将获取已安装的最新版本,而无需使用 --refresh-dependencies
如果我不是声明 mavenLocal()
存储库,而是声明 Maven 远程存储库,那么我必须包含 --refresh-dependencies
才能 100% 确定我正在获取最新的已发布版本。没问题,这是意料之中的......
但是,我不明白为什么 mavenLocal()
存储库不是这样。我在文档中找不到任何解释:Declaring a changing version.
有人有什么提示吗?
本地存储库已禁用缓存。
声明存储库 中的段落 The case for mavenLocal() 列举了使用 mavenLocal()
的各种缺点并解释了您观察到的行为:
To mitigate the fact that metadata and/or artifacts can be changed, Gradle does not perform any caching for local repositories
在我的 build.gradle 中声明以下内容时:
repositories {
mavenLocal()
}
我可以将类似的 Maven 工件(类似 = 完全相同的版本)重新部署到 Maven 本地,Gradle 将获取已安装的最新版本,而无需使用 --refresh-dependencies
如果我不是声明 mavenLocal()
存储库,而是声明 Maven 远程存储库,那么我必须包含 --refresh-dependencies
才能 100% 确定我正在获取最新的已发布版本。没问题,这是意料之中的......
但是,我不明白为什么 mavenLocal()
存储库不是这样。我在文档中找不到任何解释:Declaring a changing version.
有人有什么提示吗?
本地存储库已禁用缓存。
声明存储库 中的段落 The case for mavenLocal() 列举了使用 mavenLocal()
的各种缺点并解释了您观察到的行为:
To mitigate the fact that metadata and/or artifacts can be changed, Gradle does not perform any caching for local repositories