You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot SOAP项目Gradle依赖重复冲突问题求助

解决Spring Boot SOAP项目jaxb-core依赖冲突问题

你的问题核心是com.sun.xml.ws:jaxws-ri:2.3.3和javax.xml.ws:jaxws-api:2.3.1的传递依赖引入了重复的jaxb-core-4.0.5.jar,且全局的duplicatesStrategy未生效。以下是在保留两个主依赖的前提下的解决方法:

1. 定位重复依赖来源

先执行Gradle命令查看依赖树,明确哪个依赖引入了重复的jaxb-core:

./gradlew dependencies --configuration runtimeClasspath

搜索jaxb-core,你会发现jaxws-ri本身包含jaxb相关的传递依赖,而其他依赖(或传递依赖)又引入了高版本的jaxb-core 4.0.5。

2. 精准排除传递依赖

在jaxws-ri的依赖声明中排除重复的jaxb-core,同时保留jaxws-api依赖:

dependencies {
    implementation('com.sun.xml.ws:jaxws-ri:2.3.3') {
        // 排除jaxws-ri中传递的jaxb-core依赖
        exclude group: 'com.sun.xml.bind', module: 'jaxb-core'
    }
    // 保留指定版本的jaxws-api
    implementation 'javax.xml.ws:jaxws-api:2.3.1'
}

3. 强制统一jaxb-core版本(可选)

如果排除传递依赖后仍有问题,可强制Gradle使用与jaxws-ri匹配的jaxb-core版本,避免版本冲突:

configurations.all {
    resolutionStrategy {
        force 'com.sun.xml.bind:jaxb-core:2.3.3'
    }
}

4. 确认bootWar配置生效

确保你的bootWar配置在Gradle脚本中正确配置:

bootWar {
    duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}

完成以上配置后,重新执行./gradlew bootWar即可解决重复jar包的问题。

内容的提问来源于stack exchange,提问作者Francesco Palopoli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 12:50:05