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

Spring Boot项目部署至Tomcat后无法访问,求解决方法

解决Spring Boot WAR包部署到Tomcat无法访问的问题

问题排查与修复步骤

1. 移除错误的依赖配置

你的pom.xml中错误地将spring-boot-maven-plugin作为依赖引入,该插件仅需在构建插件中配置,无需放在依赖列表里。删除这段无效依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <version>3.3.1</version>
</dependency>

2. 修正主类路径配置

pom.xml里spring-boot-maven-plugin的mainClass配置路径错误,你的主类实际包路径是com.cicd.demo,但配置中写的是com.example.demo.DemoApplication,导致打包后无法识别启动类。修改为正确路径:

<configuration>
    <mainClass>com.cicd.demo.DemoApplication</mainClass>
</configuration>

3. 确认Tomcat版本兼容性

Spring Boot 3.3.1基于Jakarta EE 10规范,必须使用Tomcat 10.1.x及以上版本。如果你的Tomcat是9.x或更低版本,会因API兼容问题(javax与jakarta包名差异)导致部署失败,请升级到符合要求的Tomcat版本。

4. 重新打包部署

完成上述修改后,执行Maven打包命令:

mvn clean package

将新生成的target/demo.war复制到Tomcat的webapps目录,重启Tomcat服务器,访问http://localhost:8080/demo/即可看到预期的Hello World内容。

额外检查建议

  • 查看Tomcat的logs/catalina.out日志,若仍有问题,日志中的类加载或启动异常信息能快速定位剩余问题。
  • 主类继承SpringBootServletInitializer的代码符合WAR包部署要求;Controller的/路径在WAR部署后会自动映射到/demo/,访问路径逻辑正确。

内容的提问来源于stack exchange,提问作者Angelina Rozario

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 00:40:17