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