有时候我们引用了maven仓库不存在的第三方jar,项目打包后jar包里没有引用的jar,解决方法往下看。
一、目录介绍
SpringBoot项目通过idea打成jar包部署。
将项目打成jar包后,所有引用的jar都存在于BOOT-INF\lib下,
如果存在本地引用了Maven中央仓库不存在的第三方jar包,则需要在pom.xml中配置本地jar相关依赖。
二、依赖配置介绍
scope作用域必须为system(代表本地jar包)
systemPath就是jar包存放的位置
${basedir}代表项目地址,即上图D:\code\stationboot
代码如下:
<dependency>
<groupId>com.magus</groupId>
<artifactId>jdbc</artifactId>
<version>3</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/com.magus.jdbc.jar</systemPath>
</dependency>
然后在build中配置resource
<resources>
<resource>
<directory>${project.basedir}/lib</directory>
<targetPath>BOOT-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
</resources>
三、IDEA打jar包介绍
a、打包步骤
b、jar包生成位置
四、使用ssh上传jar包到服务器
可以采用MobaXterm(Xshell和Xftp结合体),可直接拖拽上传
五、运行jar包
nohup java -jar /root/stationBoot.jar > stationboot.log 2>&1 &
& 放在命令到结尾,表示后台运行,防止终端一直被某个进程占用,这样终端可以执行别到任务;
配合 >log 2>&1可以将标准log保存到log文件中,将错误重定向到标准输出log中;但如果终端关闭,则进程也停止运行。如 command > file.log 2>&1 & 。
nohup放在命令的开头,表示不挂起(no hang up),也即,关闭终端或者退出某个账号,进程也继续保持运行状态,一般配合&符号一起使用。
六、查看运行日志
tail -f log:实时查看
tail -n 100 log:查看最后100行