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

Spring Boot从1.5.3.RELEASE升级至2.2.7.RELEASE后运行异常求助

问题排查与解决方案

1. Spring Boot 2.2.7版本CommandLineRunner不执行问题

  • 修复依赖版本冲突:你当前pom中的spring-jms依赖固定为4.3.5.RELEASE,这是Spring Framework 4.x版本的组件,而Spring Boot 2.2.7.RELEASE对应Spring Framework 5.2.x版本,跨大版本的依赖冲突会导致Spring上下文初始化异常,部分Bean无法正常注册。移除spring-jms的固定版本号,由Spring Boot父依赖统一管理版本即可。
  • 移除重复依赖:pom中重复声明了两次spring-boot-starter-web,删除其中一条避免不必要的依赖冲突。
  • 调整启动类冗余配置:@SpringBootApplication注解本身已经包含@ComponentScan的功能,启动类上重复声明的@ComponentScan(basePackages = "com.company")可以直接移除,避免扫描规则冲突。
  • 确认应用类型配置:如果你当前应用不需要web服务,取消// .web(WebApplicationType.NONE)的注释,显式指定应用为非web类型,避免web容器启动后挂起导致你误认为CommandLineRunner没有执行。
  • 排查Bean注册情况:可以在启动类的run方法执行前添加调试日志,或者开启Spring Bean的debug日志,确认Orchestration类是否被正常注册到Spring容器中。

2. Spring Boot 2.5.5版本类找不到异常问题

该异常的根本原因是依赖版本不兼容:

  • Spring Boot 2.5.5对应Spring Framework 5.3.x版本,而你固定了spring-jms为4.3.5.RELEASE,会强制拉低Spring Core等核心组件的版本到4.3.5,而Spring Boot 2.5.5的SpringApplication类依赖Spring 5.3.x新增的org.springframework.core.metrics.ApplicationStartup类,低版本Spring Core中不存在这个类,因此抛出类找不到异常。
  • 修复方法同样是移除spring-jms的固定版本号,如果你没有引入Spring Boot父依赖管理,需要手动将spring-jms的版本调整为和Spring Boot 2.5.5匹配的Spring Framework版本,避免版本冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 07:09:03