在哪种情况下,gradle将工件存储在目录.m2中,在哪种情况下,它将工件存储在gradle\caches中?我试图解决我的问题,其中我有一个依赖于我的本地构建
.m2
gradle\caches
ffdz8vbo1#
仅当您将本地maven仓库声明为有效仓库时,Gradle才会从本地maven仓库中 * 读取 *:
repositories { mavenLocal() }
字符串只有当您发布工件并告诉Gradle将其发布到本地maven存储库时,Gradle才会向您的本地maven存储库进行 * 写 *。
maven
install
maven-publish
publishToMavenLocal
Gradle将使用自己的内部缓存来处理 * 所有 * 已解析的依赖项,包括来自本地maven存储库的依赖项。例如,如果您使用maven本地存储库中的依赖项org:foo:1.0,则元数据和工件将在第一次解析时复制到Gradle缓存。从那时起,依赖项将从Gradle缓存解析。但是,如果依赖关系正在更改,例如使用-SNAPSHOT版本时,Gradle缓存将默认保留最后一个解析24小时。之后它将执行新的解析,再次命中本地maven存储库(在本示例中)。参见the documentation for controlling that cache duration了解动态和/或更改依赖项。
org:foo:1.0
-SNAPSHOT
1条答案
按热度按时间ffdz8vbo1#
仅当您将本地maven仓库声明为有效仓库时,Gradle才会从本地maven仓库中 * 读取 *:
字符串
只有当您发布工件并告诉Gradle将其发布到本地maven存储库时,Gradle才会向您的本地maven存储库进行 * 写 *。
maven
插件,执行任务install
时,maven-publish
插件,执行任务publishToMavenLocal
时,Gradle将使用自己的内部缓存来处理 * 所有 * 已解析的依赖项,包括来自本地maven存储库的依赖项。
例如,如果您使用maven本地存储库中的依赖项
org:foo:1.0
,则元数据和工件将在第一次解析时复制到Gradle缓存。从那时起,依赖项将从Gradle缓存解析。但是,如果依赖关系正在更改,例如使用
-SNAPSHOT
版本时,Gradle缓存将默认保留最后一个解析24小时。之后它将执行新的解析,再次命中本地maven存储库(在本示例中)。参见the documentation for controlling that cache duration了解动态和/或更改依赖项。