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

Spring Boot 2.7.5+Spring Framework 6.0.10升级遇NoSuchFieldError求助

解决方案

核心问题

Spring Boot 2.7.5 与 Spring Framework 6.0.10 版本不兼容。Spring Boot 2.x 系列依赖的是 Spring Framework 5.3.x,强行升级到 6.x 会导致 API 不匹配,触发 NoSuchFieldError 这类兼容性错误。

可行方案

方案一:升级到 Spring Boot 3.x(推荐,适配 JDK 17)

Spring Boot 3.x 原生支持 JDK 17,且依赖 Spring Framework 6.x,是更适配的组合:

  • 修改项目构建文件(pom.xml 或 build.gradle),将 Spring Boot 版本改为 3.0.x(LTS 版本如 3.0.11)或 3.1.x(最新稳定版如 3.1.4)
  • 移除手动指定的 Spring Framework 依赖版本,让 Spring Boot 的依赖管理自动引入兼容的版本
  • 检查第三方依赖,确保它们已升级到支持 Spring Framework 6.x 的版本(部分旧库可能需要更新)

方案二:保持 Spring Boot 2.7.5,使用兼容的 Spring Framework 版本

Spring Boot 2.7.x 本身支持 JDK 17,无需升级到 3.x:

  • 移除所有手动指定的 Spring Framework 6.x 依赖配置,让 Spring Boot 自动引入对应的 5.3.x 版本
  • 用依赖分析工具排查冲突:
    • Maven:执行 mvn dependency:tree,找出强制引入 Spring Framework 6.x 的依赖,通过 <exclusions> 排除
    • Gradle:执行 ./gradlew dependencies,排查并排除冲突依赖

为什么之前降级没解决问题?

大概率是项目中仍残留 Spring Framework 6.x 的依赖包,或者有第三方依赖强制引入了 6.x 版本。通过依赖分析工具可以定位到具体的冲突来源,彻底清理后即可解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 15:40:02