一、springboot项目打jar包
使用Idea的maven模块打包,完成后在项目的target目录可以找到jar包
二、运行
1.在linux服务器创建存放jar包的目录。
2.将jar包上传到项目目录。
3.在jar包同目录下创建文件夹config。
4.将项目的application.yml相关配置文件复制到config文件夹,这样做的好处是启动jar包时会优先读取config目录的配置文件,而不是读取项目里的,避免由于开发时修改了项目配置文件跟生产环境无关的配置导致生产环境出错。
5.在jar包同目录创建project.sh脚本文件,专门管理项目的启动、停止、重新启动操作。
#! /bin/bash
# Author: liazhan
#判断用户是否输入了操作指令,如start|stop|restart
if [ "$1" = "" ];
then
echo -e "\033[0;31m please input append function \033[0m \033[0;34m {start|stop|restart} \033[0m"
exit 1
fi
#项目jar包名称
name="demo.jar"
#项目端口号
port=9091
#jvm配置
JVM_OPTS="-Xms512M -Xmx1024M -XX:PermSize=256M -XX:MaxPermSize=512M -XX:+HeapDumpOnOutOfMemoryError"
#根据项目端口号获取项目进程PID
function getPid(){
PID=`netstat -nlp | grep -w $port | sed -r 's#.* (.*)/.*#\1#'`
echo $PID
}
#停止项目
# -n 判断非空
function stop(){
getPid
echo "pid:$PID"
if [ -n "$PID" ]; then
kill $PID
echo "stop success"
else
echo "no running,stop error"
fi
}
#启动项目
function start(){
getPid
if [ -n "$PID" ]; then
echo "is running,start error"
else
nohup java -jar $JVM_OPTS $name &
echo "start success"
fi
}
#重启项目,需要睡眠个几秒避免项目还没关闭就执行启动
function restart(){
stop
sleep 4
start
}
#根据用户输入的操作指令执行对应的函数,这一段命令只能放在最后面,否则会识别不到start等函数
case $1 in
start)
start;;
stop)
stop;;
restart)
restart;;
*)
esac
6.在project.sh同目录下执行操作
#启动
./project.sh start
#停止
./project.sh stop
#重启
./project.sh restart