• 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 &

       

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

    把每一件简单的事情做好,就是不简单;把每一件平凡的事情做好,就是不平凡!相信自己,创造奇迹~~
  • 相关阅读:
    从客户端(&)中检测到有潜在危险的 Request.Path 值。
    对访问修饰关键字public, protected, internal and private的说明
    C#综合揭秘——细说多线程(下)
    iis下配置:php+mysql
    工厂模式(Factory Patter)
    HDU 1040 As Easy As A+B [补]
    HDU 1020 Encoding
    HDU 1076 An Easy Task
    UVA 100 The 3n + 1 problem
    民大OJ 1668 追杀系列第二发
  • 原文地址:https://www.cnblogs.com/acm-bingzi/p/linux_tomcat_war_properties.html
Copyright © 2020-2023  润新知