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 &

   

  原創文章,歡迎轉載,轉載請注明出處!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM