gpt4 book ai didi

gradle - 确定Gradle中依赖版本覆盖的来源

转载 作者:行者123 更新时间:2023-12-03 03:08:01 28 4
gpt4 key购买 nike

我已经声明了org.spockframework:spock-spring:1.1.d91bf785-groovy-2.4的依赖关系,但是在运行时范围中,它被重写为1.0-groovy-2.4。有没有办法弄清楚哪个依赖关系是最重要的呢?

本地没有任何gradle文件中存在1.0-groovy-2.4,并且在gradle dependencies项目中运行shared-config时不可见。

这是gradle dependencies项目中的main-web:

testCompile
[...]
+--- project :shared-config
| [...]
| +--- org.spockframework:spock-spring:1.1.d91bf785-groovy-2.4
[...]
runtime
[...]
+--- project :shared-config
| [...]
| +--- org.spockframework:spock-spring:1.1.d91bf785-groovy-2.4 -> 1.0-groovy-2.4
| | +--- org.spockframework:spock-core:1.0-groovy-2.4 -> 1.1.d91bf785-groovy-2.4
| | \--- org.codehaus.groovy:groovy-all:2.4.1 -> 2.4.12
dependencyInsight提供了一些见解:
$ gradle dependencyInsight --dependency org.spockframework:spock-spring:1.0-groovy-2.4 --configuration runtime    
> Task :main-web:dependencyInsight
org.spockframework:spock-spring:1.0-groovy-2.4 (selected by rule)

org.spockframework:spock-spring:1.1.d91bf785-groovy-2.4 -> 1.0-groovy-2.4
\--- project :shared-config
\--- runtime

但是 shared-config项目中的相同命令不会产生任何结果:
No dependencies matching given input were found in configuration ':shared-config:runtime'

我尝试覆盖该版本但未成功:
configurations.all {
resolutionStrategy {
force "org.spockframework:spock-spring:1.1.d91bf785-groovy-2.4"
}
}

最佳答案

似乎您将Spring Boot用作父项或将Spring Boot依赖项作为Bom(依赖项管理器)

默认情况下,在最新的 Spring 启动版本中,默认将1.5 + spock.version设置为1.0-groovy-2.4,这就是spock-core仍然具有旧版本的原因。

为了在gradle中解决此问题,您需要在gradle应用中覆盖spock.version属性。通过将spock.version = 1.1-groovy-2.4添加到gradle.properties文件。

访问Spring doc for overriding dep properties了解更多。

关于gradle - 确定Gradle中依赖版本覆盖的来源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46931113/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com