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

Maven执行spring-boot:run成功但内嵌服务器异常停止求助

多模块Spring Boot War包启动异常排查与解决

最近我在一个多模块Spring Boot项目的application目录下启动应用时遇到了棘手的问题:

我执行了这条启动命令:

mvn spring-boot:start -P dev -s <path>\settings.xml -Dspring.profiles.active=dev

构建明明显示成功,日志也提示Tomcat已经在8090端口启动,但实际上内嵌服务器始终处于停止状态,完全无法提供服务。

初步尝试与疑问

  • 我知道通常可以用java -jar方式启动Spring Boot应用,但我的应用是打包成war包的,不确定这种方式是否适用;
  • 另外我注意到,在STS IDE里启动服务器时会输出AUTO-CONFIGURATION REPORT的日志,但命令行启动时完全看不到这条关键日志,这让我很难排查配置问题;
  • 后来我按照@andy-wilkinson的建议改用spring-boot:run命令尝试启动,结果问题依然存在。

最终解决步骤

经过反复调试,我通过以下两步成功解决了启动问题:

  1. 先执行spring-boot:repackage命令重新打包,生成可执行的war包:
mvn clean install spring-boot:repackage -P dev -s <path>\settings.xml -Dspring.profiles.active=dev -Dstart-class=<myclass>
  1. 用java -jar命令启动生成的带-exec后缀的war包:
java -jar -Dspring.profiles.active=dev application\target\application-1.0.0.BUILD-SNAPSHOT-exec.war

补充说明

  • 目前已知需要适配不同的运行环境,这部分配置我会后续针对性处理;
  • 排查过程中我发现了一个隐藏问题:项目里有一个无用的orm.xml文件会引发XML解析错误,删除这个文件后启动恢复了正常;
  • 关于Tomcat缓存日志的问题,我会另行提问寻求解决方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 07:54:23