startup JAVA jar package with cmd line for different operation system

  • Prerequire: you have to install windows powershell first for windows SSH function.
  • Windows server

For example, you had a xxxx.jar. package, your purpose is to generate a script to depoly it automatically.

you can refer to following example:

@echo off

echo Kill the original application process
taskkill /f /im re_application.exe

echo copy
copy D:\publish\jar\re-prod\ruleEngine.jar D:\publish\jar\re-prod\bak\ruleEngine%Date:~0,4%%Date:~5,2%%Date:~8,2%%Time:~0,2%%Time:~3,2%%Time:~6,2%.jar    
copy D:\publish\jar\re-prod\ruleEngine.jar D:\publish\jar\re-prod\ruleEngineNew.jar                                                                                  

echo start application
cd D:\publish\jar\re-prod\
D:
re_application.exe -Dserver.port=7001 -Xms512m -Xmx1024m -jar -Dfile.encoding=UTF-8  ruleEngineNew.jar --spring.profiles.active=db-uat,dev,auth,redis-uat

pause

Note that, you must copy a new and rename java.exe to re_applicaiton.exe from jdk folder "D:\Program Files\Java\jdk1.8.0_251\bin". what if you are using environment, please pay attention to "%JAVA_HOME%" is only used in windows server.

Linux Service

echo "启动开始"
# 设置JAVA环境变量
export JAVA_HOME PATH CLASSPATH
JAVA_HOME=/alldev/jdk/jdk1.8.0_161
PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH

# 项目jar名称
PROJECT_NAME=whspace
# 项目目录(远程部署目录)
project_path=/alldev/Project/wh-dev
# 项目备份目录
PROJECT_BACK_PATH=/alldev/Project/wh-devback/

DIR=$project_path
JARFILE=${PROJECT_NAME}.jar

# 创建项目目录
if [ ! -d $DIR ];then
   mkdir -p $DIR
fi

# 及文件名称
current_date=`date "+%Y-%m-%d-%H:%M:%S"`
BACK_PROJECT_NAME=${PROJECT_NAME}_$current_date.jar

# 创建备份目录
if [ ! -d $PROJECT_BACK_PATH ];then
   mkdir -p $PROJECT_BACK_PATH
fi

# 复制新的JAR包到备份目录
cp   $DIR/$JARFILE  $PROJECT_BACK_PATH/$BACK_PROJECT_NAME

# 进入到发布目录
cd $DIR

# 杀进程
ps -ef |grep $JARFILE | grep -v grep |awk '{print $2}'|xargs kill -9 

#  启动
java -Dserver.port=6001 -Xms512m -Xmx1024m  -jar $JARFILE  --spring.profiles.active=db,dev,auth,redis&


echo "启动完成"

At the end, for Jenkins configuation is as below:

linux :

 

2. Windows 

 

folder structure of start.bat as below:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值