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