Java 渐变依赖项排除不适用于可传递依赖项

Java 渐变依赖项排除不适用于可传递依赖项,java,spring,gradle,Java,Spring,Gradle,我在尝试启动服务器时遇到以下异常: 原因:java.lang.CompatibileClassChangeError:class org.springframework.core.type.classreading.ClassMetadataReadingVisitor将接口org.springframework.asm.ClassVisitor作为超级类 一些帖子建议我的类路径中有冲突版本的spring asm。通过gradle相关性分析,我发现我没有多个版本的spring asm,但我有多个

我在尝试启动服务器时遇到以下异常:

原因:java.lang.CompatibileClassChangeError:class org.springframework.core.type.classreading.ClassMetadataReadingVisitor将接口org.springframework.asm.ClassVisitor作为超级类

一些帖子建议我的类路径中有冲突版本的spring asm。通过gradle相关性分析,我发现我没有多个版本的spring asm,但我有多个版本的spring core(版本3.1.4和5.0.2)

我试图排除版本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'
}
即使进行了上述更改,我仍然可以在依赖关系分析输出中找到SpringCore: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.版本
。你的问题在别处

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

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