Java教程

通用jar包部署脚本

本文主要是介绍通用jar包部署脚本,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

  在《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

执行通用shell脚本

  在脚本所在目录,执行如下Linux命令即可启动项目:

sh start.sh start

  关于本文内容,大家有什么看法?欢迎留言讨论,也希望大家多多点赞关注。楼兰胡杨祝各位生活愉快!工作顺利!

这篇关于通用jar包部署脚本的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!