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

Spring Boot应用启动失败:Tomcat版本兼容性问题求助

问题解决:Tomcat与Spring Boot版本不兼容导致方法不存在

问题原因

你使用的Spring Boot 2.7.6和Tomcat 10.1.4存在核心兼容性冲突:

  • Spring Boot 2.x系列基于Java EE规范,依赖javax.servlet包下的API
  • Tomcat 10+系列已切换到Jakarta EE规范,API包名统一改为jakarta.servlet
  • 两者的addServletContainerInitializer方法参数类型完全不匹配,导致找不到目标方法

解决方案

方案1:降级Tomcat版本(推荐)

Spring Boot 2.7.x默认兼容Tomcat 9.x系列,直接移除手动指定的tomcat-embed-core依赖,让Spring Boot的依赖管理自动维护兼容版本:

<!-- 删除手动指定的Tomcat依赖 -->
<!-- <dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-core</artifactId>
    <version>10.1.4</version>
</dependency> -->

若需显式指定版本,使用Spring Boot 2.7.x适配的Tomcat 9版本(如9.0.68):

<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-core</artifactId>
    <version>9.0.68</version>
</dependency>

方案2:升级Spring Boot到3.x(若需使用Tomcat 10+)

如果必须使用Tomcat 10+,需将Spring Boot升级到3.x系列(最低3.0.0),Spring Boot 3.x完全基于Jakarta EE规范,与Tomcat 10+原生兼容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 12:55:11