【问题标题】:Gradle does not pull latest version from artifact repo?Gradle 不会从工件存储库中提取最新版本?
【发布时间】:2021-03-31 19:29:39
【问题描述】:
$ ./gradlew -v
Gradle 3.4.1

我知道旧 Gradle 版本,但那是另一篇文章。

我们的build.gradle 文件中有这样的依赖项

dependencies {
  compile("com.company.myservice:myservice-client:10.+")
}

我注意到有时,最新版本不是从存储库中获取的(在我们的例子中是 Nexus)。 换句话说,如果我们将myservice-client-10.9.0.jar 推送到我们的repo,然后我们运行具有上述依赖项的构建,我们将使用旧版本,例如缓存中的10.8.x。为什么是这样?我知道我可以使用--refresh-dependencies,但我不应该更正吗?

【问题讨论】:

    标签: gradle build.gradle gradlew


    【解决方案1】:

    当您说“有时”时,可能是在上次更新检查后的 24 小时内,如by default, Gradle caches dynamic modules for 24 hours。如果你想在 24 小时之前强制执行更新检查,你确实需要使用--refresh-dependencies

    或者您可以缩短解析版本的缓存时间,如下所示(在 Kotlin DSL 中):

    configurations.all {
        resolutionStrategy.cacheDynamicVersionsFor(10, "minutes")
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多