一. maven命令
mvn clean 清除class文件
mvn compile 编译类文件
mvn package 编译、打包
mvn install 编译、打包、上传本地仓库
mvn deploy 编译、打包、上传本地仓库、上传中央仓库
二. shell命令
此处用user代表服务名
echo "******************"
# 查看是否在运行,运行先杀死现有服务
java_id=`ps -ef | grep user | grep -v "grep" | awk '{print $2}'`
# 查线程分组, grep -v "grep" 反向查找的意思,查找不含grep的行
# awk 擅长文本格式化 最常用动作print printf 输出格式后的文本 $0 表示一整行 $1第一个字段 $2第二个字段 $3第三个字段
# 循环杀进程
echo $java_id
for id in $java_id
do
kill -9 $id
echo "killed $id"
done
# 拉取最新的代码
cd /root/workspace/userproject
git pull
# 进入到项目目录进行打包并跳过测试
cd /root/workspace/evisible-inventory
mvn clean package -Dmaven.test.skip=true
# 开始启动项目
nohup java -server -Xmx1024m -jar /root/workspace/userproject/user/target/user-0.0.1-SNAPSHOT.jar >> /root/workspace/user-0.0.1-SNAPSHOT.jar-nohup.logs 2>&1 &
echo "******* END *******"
Xms256m 代表堆内存初始值为256MB
Xmx1024m 代表堆内存最大值为1024MB
2>&1 代表错误输出和正确输出到同一位置
利用nohup后台运行jar文件包程序
Linux 运行jar包命令如下:
方式一:
java -jar XXX.jar
特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出
那如何让窗口不锁定?
方式二
java -jar XXX.jar &
&代表在后台运行。
特定:当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。
继续改进,如何让窗口关闭时,程序仍然运行?
方式三
nohup java -jar XXX.jar &
nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行
当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件。
方式四
nohup java -jar XXX.jar >temp.txt &
解释下 >temp.txt
command >out.file
command >out.file是将command的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中。
可通过jobs命令查看后台运行任务
jobs
那么就会列出所有后台执行的作业,并且每个作业前面都有个编号。
如果想将某个作业调回前台控制,只需要 fg + 编号即可。