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

Spring Boot 3.4.0升级后出现NoSuchFieldError问题求助

解决Spring Boot 3.4.0升级后java.lang.NoSuchFieldError问题

问题根源

Spring Framework 6.1(对应Spring Boot 3.4.x版本)中,org.springframework.util.SystemPropertyUtils类的ESCAPE_CHARACTER静态字段已被移除。若项目中存在依赖库仍引用旧版本的spring-core(低于6.1),就会因版本不兼容触发该错误。

排查依赖冲突步骤

  • 执行Maven命令生成依赖树,精准定位spring-core的版本冲突:
    mvn dependency:tree -Dverbose -Dincludes=org.springframework:spring-core
    
    查看输出结果,找出所有引入非6.1.x版本spring-core的依赖包。
  • 若使用IDEA等IDE,可直接打开Maven面板,进入「Dependencies」搜索spring-core,通过「Show Dependencies」功能查看依赖的层级关系,定位冲突来源。

冲突解决方法

  • 排除旧版本依赖:针对引入旧版spring-core的依赖,添加排除规则,强制使用Spring Boot父POM管理的版本:
    <dependency>
        <groupId>冲突依赖的groupId</groupId>
        <artifactId>冲突依赖的artifactId</artifactId>
        <version>冲突依赖的version</version>
        <exclusions>
            <exclusion>
                <groupId>org.springframework</groupId>
                <artifactId>spring-core</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    
  • 统一版本管理:确保项目POM继承Spring Boot父POM,且不手动指定spring-core、spring-context等核心Spring库的版本,完全依赖父POM的版本仲裁。

验证修复

重新执行mvn dependency:tree命令,确认所有spring-core依赖均为Spring Boot 3.4.0对应的6.1.x版本,随后重启项目即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 14:05:54