type
status
date
summary
slug
tags
category
password
URL
icon
背景
上周五的时候某一功能本地开发完成后,需要部署到线下环境进行前后端联调。在部署的时候提示“进程反复重启”从而部署失败,在本地启动时代码可以正常启动。
排查过程
首先登录部署的线下机器,查看部署日志,发现日志中提示“war包损坏或失效”。解压war包,提示war包为空,因此应该是构建打包的时候发生了错误(在构建打包时,公司的平台上一直提示的都是构建打包成功,所以一开始以为是编译或者部署的脚本发生了问题,检查后发现都没有问题)。
然后检查构建打包的日志,发现这个地方果然出错了,出错原因为
找到出错原因就好说了,错误提示里已经说明代码中存在不止一个主函数。并且已经在[]中把存在主函数的类标出来了,我们只需要把多余的主函数删除或者在pom文件中指明主函数即可。
解决办法
我这边是因为另一个主函数是无意中带进去的,所以把多余的主函数删掉即可。除了删除多余主函数外,我们还可以在pom文件中指定主函数。或者使用@SpringBootApplication注解都可以。
在pom文件中指定
使用@SpringBootApplication注解
这样也可以解决以上问题。
思考
为什么在IDEA中就能正常启动呢?
因为IDEA的配置里面显式指定了主函数。
PS:项目构建失败但是公司平台提示构建打包成功误导了我好长时间==
- 作者:luxinfeng
- 链接:https://www.luxinfeng.top/article/20220626
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。