问题描述:使用mvn 打包的jar包无法在linux中运行

解决方法:在idea中使用右侧的Maven菜单栏选择对应的模块然后打开Lifecycle先点击compile,再点击package进行打包。此种方法打包的jar包较大。放在liunx中然后使用下面的命令运行即可。

nohup java -jar xx.jar --spring.profiles.active=prod >/dev/null 2>&1 &

 

 

 

首先来说一下遇到的问题,在项目中写了一个服务模块来跑一个定时任务。在往服务器中部署的时候发现无法运行这个服务的jar包。

nohup java -jar xx.jar --spring.profiles.active=prod >/dev/null 2>&1 &

使用的是这个命令运行的jar包(命令详情请看此链接https://blog.csdn.net/u012397222/article/details/85164333)。

此命令运行后会出现一个四位数数字(进程码),接着使用

 ps -ef|grep java

查看进程的时候发现并没有该jar包的进程,而是出现下面这些东西。

出现错误就去排查错误,使用

java -jar xx.jar

来运行jar包发现还是报错,于是得知是jar包的问题。

然后使用解压工具来打开该jar包发现我的目录是这样的

然后打开另外一个可以运行的jar包的目录

明显不一样,点进去看了以后看见出错的那个jar包里缺少了模块中那些lib的编译文件,所以就换其他的命令来对模块来重新打包,在一篇博客中找到一种方法就可以了。https://www.cnblogs.com/expiator/p/9926428.html

以上是我解决这个问题的过程,仅供参考。

Logo

更多推荐