Gradle 没有从 artifact repo 中提取最新版本?
Gradle does not pull latest version from artifact repo?
$ ./gradlew -v
Gradle 3.4.1
旧 Gradle 版本,我知道,但那是不同的 post。
我们的 build.gradle
文件中有这样的依赖项
dependencies {
compile("com.company.myservice:myservice-client:10.+")
}
我注意到有时不会从存储库(在我们的例子中是 Nexus)中获取最新版本。 换句话说,如果我们将myservice-client-10.9.0.jar
推送到我们的repo,然后我们运行一个具有上述依赖关系的构建,我们使用旧版本,例如, 10.8.x
在缓存中。为什么是这样?我知道我可以使用 --refresh-dependencies
但我不必更正?
当您说“有时”时,可能是在上次检查更新后的 24 小时内,如 by default, Gradle caches dynamic modules for 24 hours。如果你想在 24 小时之前强制执行更新检查,你确实需要使用 --refresh-dependencies
.
或者像这样(在 Kotlin DSL 中)缩短已解析版本的缓存时间:
configurations.all {
resolutionStrategy.cacheDynamicVersionsFor(10, "minutes")
}
$ ./gradlew -v
Gradle 3.4.1
旧 Gradle 版本,我知道,但那是不同的 post。
我们的 build.gradle
文件中有这样的依赖项
dependencies {
compile("com.company.myservice:myservice-client:10.+")
}
我注意到有时不会从存储库(在我们的例子中是 Nexus)中获取最新版本。 换句话说,如果我们将myservice-client-10.9.0.jar
推送到我们的repo,然后我们运行一个具有上述依赖关系的构建,我们使用旧版本,例如, 10.8.x
在缓存中。为什么是这样?我知道我可以使用 --refresh-dependencies
但我不必更正?
当您说“有时”时,可能是在上次检查更新后的 24 小时内,如 by default, Gradle caches dynamic modules for 24 hours。如果你想在 24 小时之前强制执行更新检查,你确实需要使用 --refresh-dependencies
.
或者像这样(在 Kotlin DSL 中)缩短已解析版本的缓存时间:
configurations.all {
resolutionStrategy.cacheDynamicVersionsFor(10, "minutes")
}