gpt4 book ai didi

java - Gradle 依赖排除不适用于传递依赖

转载 作者:太空宇宙 更新时间:2023-11-04 10:48:51 24 4
gpt4 key购买 nike

当我尝试启动服务器时出现以下异常:

由以下原因引起:java.lang.InknownClassChangeError:类org.springframework.core.type.classreading.ClassMetadataReadingVisitor具有接口(interface)org.springframework.asm.ClassVisitor作为父类(super class)

一些 stackoverflow 帖子表明我的类路径中存在 spring-asm 的冲突版本。通过gradle依赖分析,我发现我没有多个版本的spring-asm,但我确实有多个版本的spring-core(版本3.1.4和5.0.2)

org.springframework:spring-core:5.0.2.RELEASE (conflict resolution)
+--- runtime
...
+--- project :foundation-util
...
org.springframework:spring-core:3.1.4.RELEASE -> 5.0.2.RELEASE
+--- com.abc:adcontentserviceclient:1801
| +--- project :domain-cs-bl
| | +--- runtime
...

我尝试排除版本 3.1.4,但无法使其正常工作。我尝试在依赖级别和配置级别都排除它。

configurations {
all*.exclude group: 'spring-framework', module: 'spring-core'
}

dependencies {

compile(group: 'com.abc, name: 'adcontentserviceclient', version: "${adCsVersion}", changing: true) {
exclude group: 'org.springframework', module: 'spring-core'
}

即使进行了上述更改,我仍然在依赖分析输出中找到 spring-core:3.1.4.RELEASE。

最佳答案

输出

org.springframework:spring-core:3.1.4.RELEASE -> 5.0.2.RELEASE

意味着虽然某处需要3.1.4.RELEASE,但gradle实际上使用5.0.2.RELEASE来满足这一点。因此您无需排除 3.1.4.RELEASE。您的问题出在其他地方。

您仍然可以排除 3.1.4.RELEASE,但您在问题中提供的详细信息不足以告诉您为什么它不起作用。

关于java - Gradle 依赖排除不适用于传递依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48072320/

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