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

Tomcat部署Gradle构建Spring Boot应用出现404资源不可用问题

外部Tomcat 8.5.73部署Spring Boot应用遇404错误

我在外部Tomcat 8.5.73上部署Spring Boot应用时,访问localhost:8080/myApplicationName出现「请求的资源不可用」错误,但Angular前端应用localhost:8080/myAngularApp可正常访问。

已完成以下操作:

  • 正确配置JRE_HOME(jre1.8.0_51)和CATALINA_HOME环境变量
  • 在Gradle中设置WAR打包方式
  • 将spring-boot-starter-tomcat设为provided依赖
  • 应用继承SpringBootServletInitializer并重写SpringApplicationBuilder configure方法
  • 执行gradle war命令构建应用
  • 将生成的.war文件放入Tomcat的/webapps目录

启动Tomcat的startup.bat时,日志如下:

WARNING [localhost-startStop-1] org.apache.tomcat.util.descriptor.web.WebXml.setVersion Unknown version string [5.0]. Default version will be used.
INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [ .. \tomcat\webapps\myApplicationName.war] has finished in [4,823] ms
INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 10657 ms

额外尝试过的操作:

  • 在tomcat8w的启动和关闭属性中设置java替代jvm,问题未解决
  • Tomcat管理面板能看到所有已部署应用,但除前端外均返回404
  • 把.war文件发给同事后可正常运行,因此99%确定问题出在我的Tomcat配置上。和同事的唯一区别是,他启动Tomcat时日志会显示Spring标识及相关日志。

内容的提问来源于stack exchange,提问作者Salvatore Maruccio

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 01:17:12