首页 > 解决方案 > gradle 什么时候存储在 .m2 中,什么时候存储在缓存中?

问题描述

在哪种情况下将 gradle 将工件存储在目录.m2中,在哪种情况下将它们存储在gradle\caches

我正在尝试解决我的问题,其中我在本地构建中有依赖项

标签: gradle

解决方案


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

repositories {
    mavenLocal()
}

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

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

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

但是,如果依赖项发生变化,例如在使用某个-SNAPSHOT版本时,Gradle 缓存将默认将最后一个解析保留 24 小时。之后它将执行新的解析,在本例中再次访问本地 maven 存储库。

请参阅文档以控制动态和/或更改依赖项的缓存持续时间。


推荐阅读