项目jar包启动的命令

项目jar包启动的命令

当我们在linux系统里某个路径下创建了许多个jar包的文件夹后,我们可以通过 java -jar 命令脚本可以快速的启动我们的jar包以及实现全部启动及全部结束jar进程。

1.在linux系统中jar包存放位置

/opt/services/providers路径下是各个jar包存放的文件夹,同时将service.sh文件放入在该路径下,通过启动命令:
./service.sh start channeldemand 即可启动 YL-B-Channel-Demand-Provider.jar 包
channeldemand是 YL-B-Channel-Demand-Provider.jar在service.sh中配置的别名

如果需要启动该目录下的所有jar包,通过命令即可启动所有jar包:
./service.sh start all
在这里插入图片描述

2.service.sh中启动jar包具体的配置

只需要更改1.程序代码数组:每个jar包起别名 2.程序名称数组:具体每个jar包具体的名称 3.jar包数组:具体的jar包 4.jar包路径数组:jar包所在的路径地址。5.PROJECTDIR属性:具体的jar包文件夹所在路径,/opt/services/providers/KaTeX parse error: Expected '}', got 'EOF' at end of input: {PATHS[i]}。
修改这5个地方即可实现jar包配置。

#!/bin/bash
#####################################################Environment Setting#######################################################

#程序代码数组
APPS=(channelweb channelcorp channeldemand channelresume channeluser omsweb omscode omscorp omsdemand omsuser omszull oss publicweb search)

#程序名称数组

NAMES=(YL-B-Channel-WEB YL-B-Channel-Corp-Provider YL-B-Channel-Demand-Provider YL-B-Channel-Resume-Provider YL-B-Channel-User-Provider YL-B-BOS-WEB YL-B-Code-Provider YL-B-Corp-Provider YL-B-Demand-Provider YL-B-User-Provider YL-B-Zull YL-B-OSS-Provider YL-B-Public-WEB YL-B-Search-Provider)

#jar包数组

JARS=(YL-B-Channel-WEB.jar YL-B-Channel-Corp-Provider.jar YL-B-Channel-Demand-Provider.jar YL-B-Channel-Resume-Provider.jar YL-B-Channel-User-Provider.jar YL-B-BOS-WEB.jar YL-B-Code-Provider.jar YL-B-Corp-Provider.jar YL-B-Demand-Provider.jar YL-B-User-Provider.jar YL-B-Zull.jar YL-B-OSS-Provider.jar YL-B-Public-WEB.jar YL-B-Search-Provider.jar)

#jar包路径数组

PATHS=(BM-B-Channel-WEB BM-B-Channel-Corp-Provider BM-B-Channel-Demand-Provider BM-B-Channel-Resume-Provider BM-B-Channel-User-Provider BM-B-BOS-WEB BM-B-Code-Provider BM-B-Corp-Provider BM-B-Demand-Provider BM-B-User-Provider BM-B-Zull BM-B-OSS BM-B-Public-WEB BM-B-Search-Provider)

start(){
local APPNAME=
local NAME=
local CLASSNAME=
local PROJECTDIR=
local command="sh service.sh start"
local cmd2="$1"
local cmd2ok=0
local cnt=0
local okcnt=0
local PATH_LOG=
#local C_PID="0"
#for i in `seq 0 22`
echo "---------------------------开始启动服务..."
for(( i=0;i<${#APPS[@]};i++))
do
APPNAME=${APPS[$i]}
NAME=${NAMES[$i]}
CLASSNAME=${JARS[$i]}
PROJECTDIR=/opt/services/providers/${PATHS[$i]}
PATH_LOG=/opt/logs/$NAME
if [ "$cmd2" == "all" ] || [ "$cmd2" == "$APPNAME" ]; then
cmd2ok=1
C_PID="0"
cnt=0
#ps -ef | grep "$CLASSNAME" | awk '{print $2}' | while read pid
PID=`ps -ef |grep $(echo $CLASSNAME |awk -F/ '{print $NF}') | grep -v grep | awk '{print $2}'`	
#do 
#C_PID=$(ps --no-heading $pid | wc -l)
#if [ "$C_PID" == "1" ]; then
if [ -n "$PID" ]
then
echo "$APPNAME---$NAME:己经运行,PID=$PID"
#okcnt=$(($okcnt+1))
else
cd $PROJECTDIR
rm -f $PROJECTDIR/$nohup.out
command="nohup java -jar
					-XX:MetaspaceSize=256m \
					-XX:MaxMetaspaceSize=256m \
					-Xms512m \
					-Xmx512m \
					-Xmn256m \
					-Xss256k \
					-XX:SurvivorRatio=8 \
					-XX:+UseConcMarkSweepGC \
					$CLASSNAME"
exec $command >> $PROJECTDIR/nohup.out 2>&1 &
#ps -ef | grep "$CLASSNAME" | awk '{print $2}' | while read pid
#do
# C_PID=$(ps --no-heading $pid | wc -l)
#done
PID=`ps -ef |grep $(echo $CLASSNAME |awk -F/ '{print $NF}') | grep -v grep | awk '{print $2}'`	
cnt=0
#while (("$C_PID" == "0"))
while [ -z "$PID" ]
do
if (($cnt==30))
then
echo "$APPNAME---$NAME:$cnt秒内未启动,请检查!"
break
fi
cnt=$(($cnt+1))
sleep 1s
#ps -ef | grep "$CLASSNAME" | awk '{print $2}' | while read pid
#do
# C_PID=$(ps --no-heading $pid | wc -l)
#done
PID=`ps -ef |grep $(echo $CLASSNAME |awk -F/ '{print $NF}') | grep -v grep | awk '{print $2}'`	
done
okcnt=$(($okcnt+1))
echo "$APPNAME---$NAME:己经成功启动,PID=$PID"
#出借模块和总装模块启动较慢
if [ "$APPNAME" == "deal" ] ;
then
echo "$APPNAME---$NAME:启动中..."
sleep 30s
fi	
if [ "$APPNAME" == "dispatch" ] ;
then
echo "$APPNAME---$NAME:启动中..."
sleep 10s
fi
fi 
#done	
fi
done
if (($cmd2ok==0))
then
echo "command2: all|channelweb|channelcorp|channeldemand|channelresume|channeluser|omsweb|omscode|omscorp|omsdemand|omsuser|omszull" 
else
echo "---------------------------本次启动:$okcnt个服务"
fi
}

stop(){ 
local APPNAME=
local CLASSNAME=
local PROJECTDIR=
local command="sh service.sh stop"
local cmd2="$1"
local cmd2ok=0
#local C_PID="0"
local okcnt=0
echo "---------------------------开始停止服务..."
for(( i=0;i<${#APPS[@]};i++))
do
APPNAME=${APPS[$i]}
NAME=${NAMES[$i]}
CLASSNAME=${JARS[$i]}
PROJECTDIR=/opt/services/providers/${PATHS[$i]}
if [ "$cmd2" == "all" ] || [ "$cmd2" == "$APPNAME" ]; then
cmd2ok=1
#ps -ef | grep "$CLASSNAME" | awk '{print $2}' | while read PID 
PID=`ps -ef |grep $(echo $CLASSNAME |awk -F/ '{print $NF}') | grep -v grep | awk '{print $2}'`	
#do 
#C_PID=$(ps --no-heading $PID | wc -l)
#if [ "$C_PID" == "1" ]; then
if [ -n "$PID" ]
then
echo "$NAME:PID=$PID准备结束"
kill $PID
#C_PID=$(ps --no-heading $PID | wc -l)
#while (("$C_PID" == "1"))
PID=`ps -ef |grep $(echo $CLASSNAME |awk -F/ '{print $NF}') | grep -v grep | awk '{print $2}'`
while [ -n "$PID" ]
do
sleep 1s
#C_PID=$(ps --no-heading $PID | wc -l)
PID=`ps -ef |grep $(echo $CLASSNAME |awk -F/ '{print $NF}') | grep -v grep | awk '{print $2}'`
done
echo "$NAME:成功结束"
okcnt=$(($okcnt+1))
else
echo "$NAME:未运行"
fi 
#done 
fi
done
if (($cmd2ok==0))
then
echo "command2: all|channelweb|channelcorp|channeldemand|channelresume|channeluser|omsweb|omscode|omscorp|omsdemand|omsuser|omszull" 
else
echo "---------------------------本次共停止:$okcnt个服务" 
fi
}

case "$1" in 
start) 
start "$2"
exit 1
;; 
stop) 
stop "$2"
;; 
restart) 
stop "$2"
start "$2"
;; 
*) 
echo "command1: start|stop|restart" 
exit 1 
;; 
esac

3. 通过 nohup java -jar jar名 & 启动jar包

进入到jar包所在的文件夹下通过
tail -fn 200 nohup.out 可以查看相关jar包的启动日志。

java -jar -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m -Xms512m -Xmx512m -Xmn256m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC YL-B-Channel-Demand-Provider.jar &
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 宝塔自定义Jar包启动命令是通过在宝塔面板的文件管理器中进行设置和操作的。 首先,在文件管理器中找到您要上传的Jar包的目录。然后,点击右上角的"上传"按钮,选择您的Jar包文件进行上传。 上传完成后,在文件管理器中找到刚刚上传的Jar文件,点击右键,选择"编辑"。在弹出的文本编辑器中,粘贴以下命令: ``` java -jar 文件名.jar ``` 其中,`文件名.jar`需要替换为您上传的Jar包文件的实际名称。 接下来,点击保存并关闭文本编辑器。 回到宝塔面板,在网站的域名下找到"网站设置",点击进入。 在网站设置页面中,找到"默认文档"选项,点击进入。 在默认文档页面中,将刚刚上传的Jar包文件名,添加到列表中,并将其移至首位。确保保存设置。 然后,返回宝塔面板的首页,重新启动您的网站服务。 现在,您的自定义Jar包应该已经成功配置并启动了。您可以通过访问您的域名来验证是否正常工作。 ### 回答2: 宝塔面板是一个用于管理服务器的工具,可以通过宝塔面板来启动自定义的jar包。 首先,在宝塔面板中选择需要启动jar包的网站,然后进入网站管理界面。 在网站管理界面的左侧导航栏中找到“应用管理”选项,点击进入。 在应用管理页面中,点击“Java”选项,然后再点击“Tomcat”。 在Tomcat页面中,找到“部署新项目”部分。 首先,选择要部署的Java版本,可以根据使用的jar包要求选择合适的版本。 然后,在“项目名称”中填写一个适当的名称。 接下来,在“项目路径”中选择需要部署jar包的路径。 在“WAR包/项目目录”的输入框中,点击“选择文件”按钮,选择要上传的jar包文件。 最后,在“JVM启动参数”的输入框中填写自定义的启动命令。 填写完所有信息后,点击页面底部的“添加”按钮,等待上传和部署完成。 当上传和部署完成后,可以返回网站管理界面,在“Tomcat”选项下找到已经部署的项目,点击启动按钮即可启动自定义的jar包。 需要注意的是,启动时间可能会有些许延迟,需要等待一段时间后才能成功启动。 以上就是在宝塔面板中自定义jar包启动命令的步骤。希望能对你有所帮助! ### 回答3: 宝塔面板是一种方便管理服务器的面板软件,它提供了很多常用的功能和工具来简化服务器的管理。要在宝塔面板中自定义启动一个jar包,可以按照以下步骤进行操作: 1. 登录到宝塔面板,选择对应的服务器。 2. 在面板左侧的应用管理中选择“Tomcat”应用。 3. 在Tomcat应用页面的上方选择“Web应用”选项卡。 4. 点击“创建JSP/Servlet”按钮。 5. 在弹出的对话框中,填写应用名称、部署路径和运行部署方式,然后点击确定。 6. 在部署路径中,选择一个你想要部署jar包的目录。 7. 将你的jar包上传到该目录中。 8. 在弹出的对话框中,填写启动命令,在命令参数的输入框中输入`-jar your_jar_file.jar`。 9. 点击确定保存修改。 10. 然后点击“重启”按钮,以使修改立即生效。 以上就是在宝塔面板中自定义启动一个jar包的步骤。在步骤8中,你需要将`your_jar_file.jar`替换为你实际的jar包文件名。启动命令可以根据你的jar包的具体要求进行调整。 宝塔面板的使用相对简单,但在管理服务器和应用时仍需要注意安全性和性能方面的问题。建议在使用宝塔面板时,仔细了解相关功能和操作说明,并遵循最佳实践来保障服务器和应用的安全和稳定运行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值