因为 IDEA 有时候会隐藏部分启动日志,而直接 java -jar 往往能看到完整异常。
方法1:直接运行 Jar
先进入 Jar 所在目录:
cd D:\project\xxx\target
或者 Linux:
cd /home/app
启动:
java -jar xxx.jar
例如:
java -jar lowair.jar
如果启动失败,控制台一般会直接打印:
APPLICATION FAILED TO START
Caused by:
...
方法2:开启 Debug(推荐)
java -jar xxx.jar --debug
例如:
java -jar lowair.jar --debug
这样 Spring 会打印:
Condition Evaluation Report
能看到:
-
哪个 Bean 创建失败
-
哪个配置加载失败
-
哪个依赖缺失
方法3:指定 dev 环境
如果你们是:
application.yml
application-dev.yml
application-dmz.yml
则:
java -jar xxx.jar --spring.profiles.active=dev
或者:
java -jar xxx.jar --spring.profiles.active=dmz
分别验证。
例如:
java -jar lowair.jar --spring.profiles.active=dev
方法4:输出到日志文件
Windows:
java -jar lowair.jar > startup.log 2>&1
Linux:
java -jar lowair.jar > startup.log 2>&1 &
查看:
tail -200 startup.log
或者:
notepad startup.log
如果你现在还没打包
在 IDEA 项目目录下:
Maven
mvn clean package -DskipTests
生成:
target/
└── xxx.jar
然后:
java -jar target/xxx.jar --debug
更简单的方式(可以直接试)
如果你是在 IDEA 里启动的,可以直接修改 VM Options:
--debug
或者 Program Arguments:
--debug
然后启动。
如果还是自动退出,日志里通常会出现:
Closing org.springframework.context...
或者:
ApplicationContext closed
这样就能定位是谁触发了关闭。
先执行:
java -jar xxx.jar --spring.profiles.active=dev --debug