gradle - gradle 什么时候存储在 .m2 中,什么时候存储在缓存中?

标签 gradle

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

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

最佳答案

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

repositories {
    mavenLocal()
}

只有当您发布工件并告诉它发布到本地 Maven 存储库时,Gradle 才会写入您的本地 Maven 存储库。
  • 如果您使用的是 maven插件,当 executing the task install
  • 如果您使用的是 maven-publish插件,当 executing the task publishToMavenLocal

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

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

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

    the documentation for controlling that cache duration用于动态和/或变化的依赖项。

    关于gradle - gradle 什么时候存储在 .m2 中,什么时候存储在缓存中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50196867/

    相关文章:

    Android Studio 不执行 build.gradle

    Gradle HttpFileServer,继续运行,但在 ctrl+c 时终止

    groovy - Gradle:为什么从Exec派生的任务看不到自定义项目属性?

    gradle - 如何将Android Gradle依赖项(实现,testImplementation ...)提取到项目根目录中的方法中?

    android - groovy从AndroidManifest.xml获取属性

    gradle - 基于Java项目的构建变体的Gradle依赖项管理

    android - 无法解析 : exifinterface

    gradle - 如何仅在Gradle任务中列出项目依赖项jar

    Android程序类型已经存在错误

    android - Kotlin 单元测试未找到模块依赖接口(interface)