spring boot项目打成jar包,linux部署
1.准备spring boot 项目
pom.xml 添加如下配置:
<packaging>jar</packaging>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
</configuration>
</plugin>
2.配置打包命令
运行这个package命令
会在项目根目录下生成target文件夹
在项目中的target目录下出现一个可执行的jar文件
将这个jar文件放到linux上
3.配置startsh.sh 的脚本
#!/bin/sh
RESOURCE_NAME=resource-0.0.1-SNAPSHOT.jar
tpid=`ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'Stop Process...'
kill -15 $tpid
fi
sleep 5
tpid=`ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'Kill Process!'
kill -9 $tpid
else
echo 'Stop Success!'
fi
tpid=`ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'App is running.'
else
echo 'App is NOT running.'
fi
rm -f tpid
nohup java -jar ./$RESOURCE_NAME --spring.profiles.active=test &
echo $! > tpid
echo Start Success!
将你的jar文件名替换resource-0.0.1-SNAPSHOT.jar
放到linux
接下里执行jar 的同一级文件夹下
chmod +x start.sh (第一次运行的时候获取一下超级管理员权限)
然后以后每次运行直接
./start.sh 即可
拷贝脚本的时候运行的时候如果报错,应该是文件格式转换的问题
bash: ./a.sh: /bin/bash^M: bad interpreter: No such file or directory
可以 yum -y install dos2unix
然后 dos2unix start.sh
重新运行脚本
参考链接
https://blog.csdn.net/whh18254122507/article/details/78011713