这是我的war文件的结构。
MyApp.war
WEB-INF
classes/com/info/App.java
classes/application.properties
lib/
META-INF
test
在将此战争部署到tomcat之前,Ops团队将需要更新application.properties文件。
我不想爆炸。但只是为了更新战争并让tomcat在启动时爆炸
我试过这个
jar uvf MyApp.war /var/data/prod/application.properties
执行此命令后,我看到在MyApp.war的根级别添加了一个新文件。但是我想要WEB-INF/classes/application.properties
替换这个。我怎么能这样做。
答案 0 :(得分:1)
这个怎么样....
mkdir -p /tmp/MyApp.war/WEB-INF/classes
cp /var/data/prod/application.properties /tmp/MyApp.war/WEB-INF/classes
jar -uvf MyApp.war -C /tmp/MyApp.war WEB-INF
rm -rf /tmp/MyApp.war
答案 1 :(得分:1)
我不相信这是一个好方法,你应该外化你的配置文件它会从一个env变为另一个,所以它不应该成为您的档案的一部分。您应该调整代码,以便能够从外部文件夹中读取应用程序的配置。然后,您的Ops团队将在所有env上部署相同的war
而不是每个env一个部署,这更不容易出错。