简述

今天用java -jar出现了个匪夷所思的错误
Error: Could not find or load main class org.springframework.boot.loader.JarLauncher,这个第一眼感觉应该是jar包本身的问题。结果排除下来问题也算找到了。

从java -jar说起

java -jar app.jar用这个启动没啥问题,但是由于要指定java的工作路径所以我们加了个参数java -jar -Duser.dir=/home app.jar一直行就一脸懵逼了。

java -jar -Duser.dir=/home app.jar
# 报错如下
# Error: Could not find or load main class org.springframework.boot.loader.JarLauncher

上述错误搞得我n脸懵逼,之前一直都是这么用的,首先排除jar的问题,然后我找了很久以前docker里面用的启动参数,发现app.jar是决定路径,然后改了试一试,好的,我滴乖乖就是这个问题

指定user.dir时,jar包必须用绝对路径

# 好的,jar包改成绝对路径就能运行了,并且正确修改工作路径
java -jar -Duser.dir=/home /home/test/app.jar
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐