gpt4 book ai didi

gradle resolutionStrategy 不更新运行时

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

在我的 gradle 构建脚本中,我为 spring 框架强制使用 3.1.0 发布库。我看到此解析策略更改适用于 compile、testCompile、testRuntime,但不适用于从“gradle 依赖项”输出可见的运行时。

allprojects {
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
if ( details.requested.group == 'org.springframework' ) {
details.useVersion = '3.1.0.RELEASE'
}
}
}
}

gradle 依赖项输出:
compile - Compile classpath for source set 'main'.
+--- org.codehaus.groovy:groovy-all:2.1.1
+--- com.company.mod1:module1:2.21.2
| +--- org.springframework:spring-core:3.0.0.RC1 -> 3.1.0.版本
  |    |    +--- org.springframework:spring-asm:3.1.0.RELEASE
| | \--- commons-logging:commons-logging:1.1.1
| +--- org.springframework:spring-context:3.0.0.RC1 -> 3.1.0.RELEASE
| | +--- org.springframework:spring-aop:3.1.0.RELEASE
| | | +--- aopalliance:uopalliance:1.0
| | | +--- org.springframework:spring-asm:3.1.0.RELEASE


runtime - Runtime classpath for source set 'main'.
+--- org.codehaus.groovy:groovy-all:2.1.1
+--- com.company.mod1:module1:2.21.2
| +--- org.springframework:spring-core:3.0.0.RC1
| | +--- org.springframework:spring-asm:3.0.0.RC1
| | \--- commons-logging:commons-logging:1.1.1
| +--- org.springframework:spring-context:3.0.0.RC1
| | +--- aopalliance:aopalliance:1.0
| | +--- org.springframework:spring-asm:3.0.0.RC1
| | +--- org.springframework:spring-aop:3.0.0.RC1
| | | +--- aopalliance:aopalliance:1.0
| | | +--- org.springframework:spring-asm:3.0.

因为你可以编译依赖项被 3.1.0.RELEASE 覆盖,但运行时没有。因此,当我为我的项目 jar 分发 zip 文件时,我看到 3.0.0。版本 Spring 库。

这是我的覆盖或解析策略的问题不影响运行时库吗?
我需要在 distZip 任务中包含编译依赖项吗?但这可能会在存档中创建重复的库。

最佳答案

找出原因。 resolutionStrategy 代码方法位于构建脚本的底部。一旦我将它移到所有与构建代码相关的子项目之上,它也反射(reflect)了运行时依赖项。

关于gradle resolutionStrategy 不更新运行时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22076646/

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