gradle何时存储在.m2中以及何时存储在缓存中?

时间:2018-05-06 06:31:16

标签: gradle

在哪种情况下,会在目录.m2中对存储工件进行gradle,并在哪种情况下将它们存储在gradle\caches中?

我正在尝试解决我在本地构建中具有依赖性的问题

1 个答案:

答案 0 :(得分:3)

只有当您将其声明为有效存储库时,Gradle才会从您的本地maven存储库中读取

repositories {
    mavenLocal()
}

只有在您发布工件并告诉它发布到本地maven存储库时,Gradle才会写入您的本地maven存储库。

Gradle将为所有已解析的依赖项使用自己的内部缓存,包括来自本地maven存储库的依赖项。

例如,如果您使用maven本地存储库中的依赖项org:foo:1.0,则元数据和工件将在第一个分辨率上复制到Gradle缓存中。从那时起,依赖关系将从Gradle缓存中解析。

但是,如果依赖项正在更改,例如使用-SNAPSHOT版本时,Gradle缓存将默认将最后一个解析为24h。之后,它将执行一个新的解决方案,在此示例中再次点击本地maven存储库。

请参阅the documentation for controlling that cache duration了解动态和/或更改依赖关系。