centos 上传jar 命令_Linux脚本启动jar包

如何启动Jar

    我们通常要启动一个jar包的话首先就是从git中拉取代码,然后使用maven命令进行打包,再java -jar启动程序。这样的一个过程是非常没有实际意义的且非常浪费时间,更别提有时候重启还需要kill了,那么今天小编就来教大家如何使用Linux脚本执行。

    首先需要交代的是,这里小编项目的结构目录是这样的:

89702f32c3c70de514a6d6d937f71bcc.png

打出来的jar包通常在xxxx-web/target/文件夹下。jar包名为fastboot.jar。

前提条件交代清楚了我们就来看下如何使用脚本吧~

Linux脚本

    Linux脚本通常是以.sh结尾的文件,所以我们在项目目录下创建了一个start.sh的文件,具体代码如下:

echo "------------------iFillDream start.sh is starting......-----------------"echo "是否拉取代码(回车表示拉取):"read hasGitPull#当前脚本目录BASE_DIR=$(cd `dirname $0`; pwd)if [ ! $hasGitPull ]; then  echo "###########开始更新代码:git pull##########"  git pull  echo "###############代码更新完毕###############"  sleep 3fiecho "------是否后台运行,回车表示yes:"read hasNohupecho "###########开始maven打包:mvn clean package#############"mvn  clean package  -Dmaven.test.skip=true -Uif [ $? -ne 0 ]; then    echo ""    echo "***********************************************************"    echo "[INFO]Maven打包失败"    echo "***********************************************************"    exit 1fiecho "#####################Maven打包成功#####################"jartype=.jarjarpath=${BASE_DIR}/$1-web/target/jarname=$1${jartype}echo "jar包地址:"${jarpath}echo "jar包名称:"${jarname}cd $jarpath#获取正在运行的jar的pid,注意此处用到了java -jar作为关键词搜索,防止搜索出多个相同内容pid=$(ps -ef | grep $jarname | grep 'java -jar' | grep -v grep | awk '{print $2}')echo "#######PID:"$pidif [ ! $pid ]; then echo "#######尚未运行:"$jarnamefiif [[ -n $pid ]]; then  kill -9 $pid  sleep 5  echo $jarname "的pid为" $pid ",已将其杀死..."fidefaultprofile=$2if [ ! $2 ]; then  echo "####################################################################################"  echo "No spring.profiles.active,Now default is family,If stop you can  please input ctrl+c"  echo "####################################################################################"  defaultprofile=family  sleep 3fiif [ ! $hasNohup ]; then  echo "################开始后台运行......###############################"  nohup java -jar -Xms256m -Xmx256m -XX:PermSize=128M -XX:MaxPermSize=256M $jarname --spring.profiles.active=$defaultprofile &  pid=$(ps -ef | grep $jarname | grep 'java -jar' | grep -v grep | awk '{print $2}')  echo "###############命令执行完毕,请自行验证是否启动成功:"$pid"###############"else  echo "#############前台运行......#############"  java -jar -Xms256m -Xmx256m -XX:PermSize=128M -XX:MaxPermSize=256M $jarname --spring.profiles.active=$defaultprofile  echo "#############前台运行关闭############"fi

为了方便理解里面的代码,我们稍微来做讲解:

echo:输出内容

read xx:输入一个变量xx

iif [ ! $hasGitPull ]; then:表示hasGitPull变量为空

sleep 3:休眠3秒

$0:当前运行的脚本

$1:启动脚本时的第一个参数

$2:启动脚本时的第二个参数

注意在启动时请确保java和-jar是一起的而不是分开的,否则pid将无法查找

若还有不懂得,可以后台留言给小编哟~

运行效果

5a261461f118ef6a89da55cdf7cd6175.png

随后开始maven打包,打包完成后查找是否已启动,若已启动则kill掉进程再启动jar包:

8e6bddba60c7d13783409f234f3d9c54.png

    由于是后台启动,并不确定程序是否真正启动,所以还需要自行验证一下接口是否成功,这里只做基本的输出,当然也可以前台启动了。

    好了,基本的脚本命令就介绍到这,小伙伴们可以根据实际项目稍作修改即可拥有自己的脚本啦。

【更多精彩】

HMAC-MD5签名算法

Java-微信JSSDK

还不知道如何使用IDEA上传项目到Git?

c2fb65a9d9aaa9f7699f2b25d89dac1e.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值