在《Linux下部署Spring Boot 项目 jar包》中,小编介绍了一步一步发布jar包的方法,这里提供一个通用Shell脚本,傻瓜式发布Spring Boot项目。
通过WinSCP把
将通用Shell脚本命名为start.sh,并把脚本上传至jar所在目录, 脚本内容如下:
####################### #脚本使用方法: #把本脚本和jar包放在同一目录下,保证当前目录有且仅有一个jar包即可。无需修改任何东西。 ####################### CurrentPath=`pwd` CurrentDirName=`basename $(pwd)` if ls *.jar &> /dev/null ;then if [ `ls *.jar | wc -l` -eq 1 ];then APP_NAME=`find $CurrentPath -maxdepth 1 -name "*.jar"` else echo -e "\033[31m------ Error! Too Much JAR Packages In This Directory !\033[0" exit 2 fi else echo -e "\033[31m------ Error! No JAR Package In Current File !\033[0" exit 1 fi is_exist() { pid=`ps aux | grep $APP_NAME | grep -v grep | grep "jar$"| awk '{print $2}'` if [ -z "$pid" ];then return 1 else return 0 fi } start () { is_exist if [ $? -eq 0 ];then echo "${APP_NAME} is already running. pid=${pid} ." else nohup java -jar $APP_NAME &> nohup.$CurrentDirName & fi } stop () { is_exist if [ $? -eq 0 ];then kill $pid else echo "${APP_NAME} is not running" fi } status () { is_exist if [ $? -eq 0 ];then echo "${APP_NAME} is running. Pid is ${pid}" else echo "${APP_NAME} is not running" fi } case $1 in start) start;; stop) stop;; restart) stop start;; status) status;; *) echo "Usage: $0 {start|stop|status|restart} " esac
在脚本所在目录,执行如下Linux命令即可启动项目:
sh start.sh start
关于本文内容,大家有什么看法?欢迎留言讨论,也希望大家多多点赞关注。楼兰胡杨祝各位生活愉快!工作顺利!