欢迎访问我的个人网站==》 jiashubing.cn

Linux命令修改Tomcat中的war包项目的属性文件

  使用 Tomcat部署 war包,不同的环境需要不同的配置,war包是同一个。那么如何动态修改这个properties属性文件?

  这里有很多种做法,最直接的就是拉取war后,先修改war包里值,然后再启动(这种方法我没有尝试)。

  我要说的是另一种,不修改war包,只修改war包解压后的属性文件。如果直接修改对应路径的文件,往往会报错 No such file or directory。我这边利用的是 Tomcat 启动两次不会再次解压war 包 的特性来实现。


  以下是脚本的精简版,目的是往demo.war 里的application.properties 文件里追加一行配置 csrf.white.referer=localhost

修改前的代码

#!/bin/bash
set -x

#查找进程号,直接杀进程
pidNum=`ps -ef |grep tomcat_bing |grep -v "grep"|awk '{print $2}'`
kill -9 $pidNum
sleep 5

cd /home/tomcat_bing/webapps
rm -rf demo
#备份
mv demo.war ../
rm -rf demo.war
#wget命令从ftp服务器拉取war包
wget http://172.xx.xx.123/bing/demo.war

#启动tomcat包
nohup /home/tomcat_bing/bin/startup.sh &

 

修改后的代码,在修改前的代码后面增加以下内容

sleep 10s

#再次杀进程
pidNum=`ps -ef |grep tomcat_8092 |grep -v "grep"|awk '{print $2}'`
kill -9 $pidNum
sleep 5

#properties里追加内容,先追加一句空白,否则可能不会换行
echo "" >> /home/tomcat_bing/webapps/demo/WEB-INF/classes/application.properties
echo "csrf.white.referer=localhost" >> /home/tomcat_bing/webapps/demo/WEB-INF/classes/application.properties
#不使用追加的方法,用cp命令复制,也是极好的

#重新启动
nohup /home/tomcat_bing/bin/startup.sh &

   

  原创文章,欢迎转载,转载请注明出处!

 

posted @ 2021-02-01 16:26  贾树丙  阅读(1157)  评论(2编辑  收藏  举报