项目中是直接把代码生成器的直接拉到本地执行的,感觉没有多大用处,还比较繁琐,直接就打成jar包在linux上运行就好了。
但是每次都要写个2个配置文件,所以需要写个shell
[root@localhost myimages]# jar -tvf renren-generator-1.0.0.jar | grep generator.properties 913 Mon May 25 09:07:04 EDT 2020 BOOT-INF/classes/generator.properties [root@localhost myimages]# ll total 35644 -rw-r--r--. 1 root root 1538 May 25 09:05 application.yml drwxr-xr-x. 3 root root 21 May 25 08:21 BOOT-INF -rw-r--r--. 1 root root 36486908 May 25 09:07 renren-generator-1.0.0.jar -rw-r--r--. 1 root root 3806 May 25 09:07 run.log -rwxr-xr-x. 1 root root 365 May 25 08:54 updateJar.sh [root@localhost myimages]#
先找到配置文件在jar包的位置,然后把替换的命令写在shell就可以了。
官网中说明jar包外的yml会优先执行,所以这个不要紧,具体shell如下:
[root@localhost myimages]# cat updateJar.sh #!/bin/bash pid=`lsof -i:80 |awk '{print $2}'|head -n 2 | tail -n 1` if [[ -n $pid ]]; then echo "找到应用的进程号:"$pid",尝试正常停止应用" kill $pid sleep 1 fi cd /myimages/ jar uvf renren-generator-1.0.0.jar BOOT-INF/classes/generator.properties nohup java -jar renren-generator-1.0.0.jar &> run.log & echo "正在启动应用..." [root@localhost myimages]#