在哪种情况下,会在目录.m2
中对存储工件进行gradle,并在哪种情况下将它们存储在gradle\caches
中?
我正在尝试解决我在本地构建中具有依赖性的问题
答案 0 :(得分:3)
只有当您将其声明为有效存储库时,Gradle才会从您的本地maven存储库中读取:
repositories {
mavenLocal()
}
只有在您发布工件并告诉它发布到本地maven存储库时,Gradle才会将写入您的本地maven存储库。
maven
插件,请executing the task install
maven-publish
插件,请executing the task publishToMavenLocal
Gradle将为所有已解析的依赖项使用自己的内部缓存,包括来自本地maven存储库的依赖项。
例如,如果您使用maven本地存储库中的依赖项org:foo:1.0
,则元数据和工件将在第一个分辨率上复制到Gradle缓存中。从那时起,依赖关系将从Gradle缓存中解析。
但是,如果依赖项正在更改,例如使用-SNAPSHOT
版本时,Gradle缓存将默认将最后一个解析为24h。之后,它将执行一个新的解决方案,在此示例中再次点击本地maven存储库。
请参阅the documentation for controlling that cache duration了解动态和/或更改依赖关系。