【发布时间】:2020-07-18 19:47:41
【问题描述】:
执行时(在 gradle 6.5 中)
./gradlew dependencyInsight --dependency groovy-testng --configuration testRuntimeClasspath
我可以找到groovy-testng 来自groovy-all 库,该库已添加到我们的build.gradle。我想更新groovy-testng的版本,所以我决定更新groovy-all,根据mvnrepository,它在3.0.4版本中包含groovy-testng,但groovy-testng的版本仍然是旧版本,而gradle没有' t 将其解析为最新版本:
org.codehaus.groovy:groovy-testng:2.5.12 (selected by rule)
variant "runtime" [
org.gradle.status = release (not requested)
org.gradle.usage = java-runtime
org.gradle.libraryelements = jar
org.gradle.category = library
Requested attributes not found in the selected variant:
org.gradle.dependency.bundling = external
org.gradle.jvm.version = 11
]
org.codehaus.groovy:groovy-testng:3.0.4 -> 2.5.12
\--- org.codehaus.groovy:groovy-all:3.0.4
\--- testRuntimeClasspath
我找到了selected by rule 行,但在我的项目中找不到任何ResolutionStrategy,所以我开始注释掉,看看是什么原因造成的。原来这是一个插件org.springframework.boot 和io.spring.dependency-management 一起导致这个版本被降级。为什么?为什么只有当它们都包括在内时?我假设这些插件定义了一些 ResolutionStrategy?找出ResolutionStrategy 来自哪里的最简单方法是什么?
【问题讨论】:
标签: gradle