gradle依赖解析与更新

问题一:刷新依赖,gradle解析出一个根本不存在的版本号

例如:

1
testRuntime 'org.junit.jupiter:junit-jupiter-api:5.2.0'

解析版本号明显不对,通过gradle下载文件可以发现。

在已知仓库列表中,下载不到依赖对应的metadata文件、pom文件

so.

gradle给出个恶作剧般的提示=。=

问题二:刷新依赖时,偶尔有的包会重新解析

maven有本地仓库

gradle有本地缓存

既然都从本地拿了,为什么有时候会重新下载某些包❓

Gradle 对于动态版本和变化模块的缓存时间默认是 24 小时。

  • 动态版本:3.+ 这种就是动态版本,latest.integration,它也是动态版本
  • 变化模块:0.2-SNAPSHOT 这种后面带 SNAPSHOT 的

修改缓存周期

  • 执行型

  • ```shell
    gradle build –refresh-dependencies

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

    * 配置型

    * ```groovy
    configurations.all {
    // 动态版本
    resolutionStrategy.cacheDynamicVersionsFor 10, 'minutes'
    // 变化模块
    resolutionStrategy.cacheChangingModulesFor 10, 'minutes'
    }