您的位置 首页 > 数码极客

(jar如何在tomcat下运行)jar包如何在tomcat里面运行…

前言

这两天把蘑菇博客后台部署的方式改了一下,由原来打包成war包,部署到一个tomcat里面,转变成直接打包成jar包,然后使用 java -jar命令进行启动

下面讲讲遇到的问题

1)java -jar 运行时是前台启动,并非后台运行

这个解决的方法是,使用nohub命令

nohup 是 no hang up 的缩写,就是不挂断的意思

nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。

nohup 命令 用途:不挂断地运行命令。 语法:nohup Command [ Arg … ][ & ] 描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 &到命令的尾部

然后我们需要设置对应的日志输出目录

# 设置输出目录 nohup java -jar xxx.jar > ca 2>&1 & # 使用tail命令打印日志 tail -f ./ca

2)因为使用java -jar的时候,不指定java内存大小的话,会导致启动非常缓慢,所以需要设置堆栈大小

java -jar -XX:MetaspaceSize=1024m -XX:MaxMetaspaceSize=1024m -Xms1024m -Xmx1024m -Xmn256m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -XX:MetaspaceSize:最小元空间 -XX:MaxMetaspaceSize:最大元空间 -Xms:最小堆内存 -Xmx:最大堆内存 -Xmn:新生代大小 -Xss:栈大小 -XX:SurvivorRatio:新生代中Eden区与两个Survivor区的比值。注意Survivor区有两个。如:为3,表示Eden:Survivor=3:2,一个Survivor区占整个新生代的1/5 -XX:+UseConcMarkSweepGC:设置并发收集器

对于上面的,我只设置了最小堆内存和最大堆内存

nohup java -Xms256m -Xmx512m -jar mogu_ > ca 2>&1 &

3)设置两个启动脚本,以后方便直接启动和关闭

首先是启动脚本

#!/bin/bash nohup java -Xms256m -Xmx512m -jar youA > ca 2>&1 & tail -f ./ca

然后是关闭脚本

#!/bin/bash PID=$(ps -ef | grep youA | grep -v grep | awk '{ print $2 }') if [ -z "$PID" ] then echo Application is already stopped else echo kill $PID kill $PID fi


责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“jar如何在tomcat下运行,jar包如何在tomcat里面运行,tomcat运行jar包,jar运行和tomcat运行区别,jar运行和tomcat部署区别”边界阅读