Gradle何时存储在.m2中,何时存储在缓存中?

agyaoht7  于 6个月前  发布在  其他
关注(0)|答案(1)|浏览(97)

在哪种情况下,gradle将工件存储在目录.m2中,在哪种情况下,它将工件存储在gradle\caches中?
我试图解决我的问题,其中我有一个依赖于我的本地构建

ffdz8vbo

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了解动态和/或更改依赖项。

相关问题