zoukankan      html  css  js  c++  java
  • 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 &

       

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

    把每一件简单的事情做好,就是不简单;把每一件平凡的事情做好,就是不平凡!相信自己,创造奇迹~~
  • 相关阅读:
    拉姆达表达式(lambda Expressions)
    Func,Action 的介绍
    VS2012 此模板尝试加载组件程序集”NuGet.VisualStudio.interop,Version=1.0.0.0 的解决
    444 英语口语
    Base algorithm
    Windows Search Service
    Windows Azure Storage
    HDU 3395 Special Fish
    CodeForces 235B Let's Play Osu!
    HDU 3435 A new Graph Game
  • 原文地址:https://www.cnblogs.com/acm-bingzi/p/linux_tomcat_war_properties.html
Copyright © 2011-2022 走看看