跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Javajava

SpringBoot 启动 NoSuchMethodError 版本冲突排查与修复

综述由AI生成Spring Boot 3.5.6 项目启动时报错 NoSuchMethodError 的原因。经排查,发现子工程依赖的 Spring 框架版本与父工程管理的版本不一致。通过在 pom.xml 中统一 Spring Framework 的版本管理(BOM)至 6.2.11,解决了类方法缺失导致的启动失败问题。

佛系玩家发布于 2026/3/30更新于 2026/5/2222 浏览
SpringBoot 启动 NoSuchMethodError 版本冲突排查与修复

1. 问题复现

前置条件:Spring Boot 版本为 3.5.6。子工程引入父工程后,项目无法启动。

报错信息

Exception in thread "main" java.lang.NoSuchMethodError: 'org.springframework.core.io.support.SpringFactoriesLoader org.springframework.core.io.support.SpringFactoriesLoader.forDefaultResourceLocation(java.lang.ClassLoader)'
at org.springframework.boot.SpringApplication.getSpringFactoriesInstances(SpringApplication.java:466)
at org.springframework.boot.SpringApplication.getSpringFactoriesInstances(SpringApplication.java:462)
at org.springframework.boot.SpringApplication.<init>(SpringApplication.java:277)
 .<>(SpringApplication.:)
 (SpringApplication.:)
 (SpringApplication.:)
 (MvnTestApplication.:)
at
org
.springframework
.boot
.SpringApplication
init
java
257
at
org
.springframework
.boot
.SpringApplication
.run
java
1361
at
org
.springframework
.boot
.SpringApplication
.run
java
1350
at
com
.xx
.mvntest
.MvnTestApplication
.main
java
10

[图片:报错堆栈]

2. 问题排查

  1. 查看对应的版本号,发现两个引入的版本号不一样。引入 common 模块。

[图片:common 模块配置]

直接继承 parent 的模块,查看核心是 6.2.11。

[图片:parent 版本配置]

版本号不一样导致启动失败。

不仅 Web 模块存在版本兼容问题。

[图片:web 模块版本]

3. 解决问题

查看源码中,可以看到官方中的源码使用 Spring 框架的依赖是 6.2.11。但是自己这边引入的是 3.5.39 的版本。

[图片:源码依赖版本对比]

因为源码中的依赖继承顺序是

项目 ↓ 继承 spring-boot-starter-parent (3.5.6) ↓ 继承 spring-boot-dependencies (3.5.6) ↓ 导入 spring-framework-bom (6.2.11) 管理所有 Spring 框架组件版本 ↓ 管理 spring-core, spring-web, spring-context 等 (都是 6.2.11)

统一 Spring 的版本管理

<!-- 统一版本 -->
<spring-framework.version>6.2.11</spring-framework.version>
<!-- 修改依赖 -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-framework-bom</artifactId>
    <version>${spring-framework.version}</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>

修改成这样就可以启动原有项目了。

目录

  1. 1. 问题复现
  2. 2. 问题排查
  3. 3. 解决问题
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 3大核心功能打造智能语音转文字神器:Whisper-WebUI实战手册
  • OpenClaw 爆火倒逼低代码 AI 变革:从工具赋能到生态重构
  • 卷积神经网络 CNN 原理与实战指南
  • 大模型 API 注册与调用实战指南
  • AIGC 电商实战:厘清品牌叙事与商品素材的 AI 应用边界
  • 基于腾讯云 CVM 部署 Clawdbot 并对接 Telegram 机器人
  • Spring Boot 参数配置详解:properties、yml 及外部化配置
  • 基于腾讯云 HAI 与 DeepSeek 快速设计个人网页
  • 计算机专业毕业去向:金融科技岗位选择银行还是券商
  • Spring Cloud Gateway 内置 Filter 实战:AddRequestHeader 与 RewritePath
  • Java 强转遇到 null 为何报错而不是自动处理?
  • OpenRouter 快速入门:统一接口调用 500+AI 模型
  • Python 生成器详解:定义、使用场景与注意事项
  • Java 从零开始到项目实战的系统学习路线
  • Java在AI时代的崛起:从传统机器学习到AIGC全栈方案
  • Java JDK 安装与环境配置教程
  • Dify 集成 Qwen3-VL 低代码构建视觉智能应用
  • Java 在 AI 时代的崛起:从传统机器学习到 AIGC 实践
  • DIY 无人机:电源升压降压电路设计详解
  • OpenClaw 浏览器控制:利用 Chrome Debug 模式实现免登录自动化

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online