Java 防止tomcat 7在每次覆盖/取消部署我的webapp时删除我的自定义上下文文件

Java 防止tomcat 7在每次覆盖/取消部署我的webapp时删除我的自定义上下文文件,java,deployment,tomcat7,datasource,Java,Deployment,Tomcat7,Datasource,我在Tomcat7上部署了一个web应用程序。它的上下文文件myAppName.xml位于 $CATALINA\u HOME/conf/CATALINA/localhost文件夹。 我面临的问题是,每次覆盖或取消部署时,我的配置文件都会从$CATALINA_HOME/conf/CATALINA/localhost文件夹中删除,我必须从备份位置复制/粘贴它。 如何防止这种行为?我不想每次在webapp中更改内容时都复制/粘贴上下文文件。将其放入源代码树中的web/META-INF,然后Tomc

我在Tomcat7上部署了一个web应用程序。它的上下文文件myAppName.xml位于
$CATALINA\u HOME/conf/CATALINA/localhost文件夹。


我面临的问题是,每次覆盖或取消部署时,我的配置文件都会从
$CATALINA_HOME/conf/CATALINA/localhost
文件夹中删除,我必须从备份位置复制/粘贴它。


如何防止这种行为?我不想每次在webapp中更改内容时都复制/粘贴上下文文件。

将其放入源代码树中的web/META-INF,然后Tomcat将其复制到conf/。。。。在每次部署时。Tomcat 7在默认情况下甚至不会这样做,只是在它所在的位置使用它。

但是当我想将配置保留在war文件之外时会发生什么?我希望能够使用不同的配置在多台服务器上部署相同的war文件,所以要做到这一点。将其与WAR文件分开部署。只是不要把它放在一个让Tomcat会重击它的地方,或者期望Tomcat在战争重新加载时保存它。对不起,我不明白你建议把上下文文件放在哪里。“源代码树中的web/META-INF”是什么意思?此问题通常在更新.war文件时发生(这里的想法是将配置置于.war之外)。在这种情况下,您必须在其他地方维护上下文文件的副本,因为Tomcat将通过两步更新将其删除:取消部署、部署。@Destroyca“源代码树中的web/META-INF”对我来说似乎很清楚,“与WAR文件分开”也是如此。它们是两个不同的建议,不是同一个,如果这让你困惑的话。什么是“源代码树”?