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

引入Spring Cloud Config后类路径冲突引发NoSuchMethodError如何解决

解决方案
  • 方案1(最推荐):排除eureka-client传递引入的老旧jsr311-api依赖
    直接修改pom.xml中eureka-client的依赖配置,添加排除规则:
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    <exclusions>
        <exclusion>
            <groupId>javax.ws.rs</groupId>
            <artifactId>jsr311-api</artifactId>
        </exclusion>
    </exclusions>
</dependency>
  • 方案2:通过依赖管理统一声明高版本jax-rs实现优先级
    如果你项目中需要兼容javax.ws.rs相关逻辑,可以在pom的<dependencyManagement>节点中统一指定jakarta.ws.rs-api的版本,确保其优先级高于传递引入的低版本jsr311-api:
<dependencyManagement>
    <dependencies>
        <!-- 统一指定jakarta.ws.rs版本,优先级高于传递依赖 -->
        <dependency>
            <groupId>jakarta.ws.rs</groupId>
            <artifactId>jakarta.ws.rs-api</artifactId>
            <version>2.1.6</version>
        </dependency>
    </dependencies>
</dependencyManagement>
  • 验证操作
    配置修改完成后,执行mvn dependency:tree命令,检查项目依赖树中是否还存在1.1.1版本的jsr311-api,确认排除成功后重启应用即可解决报错。

Spring Cloud 2020.0.x版本对应的Spring Boot基线版本为2.4.x/2.5.x,该版本体系默认仍使用javax命名空间,若你的项目已经提前迁移到jakarta命名空间,需要全局排查所有传递引入的javax.*旧规范包,统一做排除处理避免同类冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 13:54:04