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

Spring Boot升级至1.5.9.RELEASE后Tomcat启动失败求助

解决Spring Boot 1.5.9.RELEASE启动失败(StandardEngine[Tomcat]报错)

1. 排查Tomcat依赖冲突

Spring Boot 1.5.9.RELEASE默认适配Tomcat 8.5.23,先检查项目是否引入了其他版本的Tomcat组件(如tomcat-catalina、tomcat-embed-core等)导致版本冲突。

执行Gradle命令查看依赖树:

./gradlew dependencies --configuration compile

若发现冲突,在Gradle配置中排除多余的Tomcat依赖,示例:

configurations.all {
    exclude group: 'org.apache.tomcat', module: 'tomcat-catalina'
}

或针对具体依赖单独排除:

implementation('第三方依赖坐标') {
    exclude group: 'org.apache.tomcat'
}

2. 规范Spring Boot Starter配置

确保项目正确引入spring-boot-starter-web,避免手动引入Servlet API或Tomcat组件引发版本不匹配:

dependencies {
    compile('org.springframework.boot:spring-boot-starter-web')
    // 其他业务依赖...
}

如果是war包部署场景,需将spring-boot-starter-tomcat标记为provided:

providedRuntime('org.springframework.boot:spring-boot-starter-tomcat')

3. 检查自定义Servlet/Filter组件

若项目中有自定义Servlet、Filter或Listener,排查以下点:

  • 注解(如@WebServlet、@WebFilter)的映射路径是否重复
  • 组件初始化逻辑是否存在依赖未就绪的操作(比如构造方法中调用未初始化的Bean)
  • 通过@Bean注册组件的代码是否抛出异常

4. 清理缓存并重新构建

缓存可能导致依赖加载异常,执行命令清理后重新构建:

./gradlew clean build --refresh-dependencies

5. 排查JVM启动参数

确认启动时的JVM参数未设置冲突属性,比如catalina.base等Tomcat相关系统变量,避免干扰内嵌Tomcat的初始化流程。


内容的提问来源于stack exchange,提问作者Venkatesh A Hanamsagar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 15:02:04