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

Spring Boot 3.0.1部署外部Tomcat9生产环境返回404求助

问题原因与解决方案

核心原因

Spring Boot 3.0.x 依赖的 Spring Framework 6.x 要求 Servlet 容器支持 Servlet API 5.0,而 Tomcat 9.0.43 仅支持 Servlet API 4.0,版本不匹配导致应用无法完成初始化流程,最终返回404且无有效错误日志(初始化阶段失败,未触发日志输出逻辑)。

Tomcat版本与Servlet API对应关系:

  • Tomcat 9.0.60+:支持Servlet API 5.0(兼容Spring 6.x/Spring Boot 3.x)
  • Tomcat 9.0.0-9.0.59:仅支持Servlet API 4.0(仅兼容Spring 5.x/Spring Boot 2.x)

可行解决方案

  • 升级生产环境Tomcat版本:将生产环境的Tomcat 9.0.43升级到9.0.60或更高版本(比如你本地使用的9.0.62),这是最贴合需求的解决方式,能完全匹配Spring Boot 3.x的运行要求。
  • 临时降级应用依赖:如果暂时无法升级Tomcat,只能将Spring Boot版本降级到2.x系列(对应Spring 5.x),但此方案会丢失Spring 6.x的新特性,仅作为应急临时方案。

验证步骤

  1. 确认生产环境Tomcat的lib/servlet-api.jar版本:解压后查看MANIFEST.MF文件中的Specification-Version字段,9.0.43对应值应为4.0,9.0.62对应值为5.0。
  2. 升级Tomcat后重新部署应用,检查Tomcat的localhost.log或catalina.log,应能看到Spring Boot的初始化日志,此时访问接口不会再返回404。

内容的提问来源于stack exchange,提问作者Theo Huwume

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 22:05:22