【问题标题】:prevent tomcat 7 from deleting my custom context file on every single overwrite/undeploy of my webapp防止tomcat 7在每次覆盖/取消部署我的webapp时删除我的自定义上下文文件
【发布时间】:2013-02-13 05:26:36
【问题描述】:

我在 tomcat 7 上部署了一个 Web 应用程序。其名为 myAppName.xml 的上下文文件位于 $CATALINA_HOME/conf/Catalina/localhost folder.

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

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

【问题讨论】:

    标签: java deployment tomcat7 datasource


    【解决方案1】:

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

    【讨论】:

    • 但是当我想将我的配置保留在我的 war 文件之外时会发生什么?我希望能够在具有不同配置的多个服务器上部署相同的 war 文件。
    • 那就这样做吧。将其与 WAR 文件分开部署。只是不要将它保存在 To cat 会破坏它的地方,或者期望 Tomcat 在 WAR 重新加载时保留它。
    • 抱歉,我不明白您建议将上下文文件放在哪里。 “源代码树中的 web/META-INF”是什么意思?此问题通常在您更新 .war 文件时发生(这里的想法是在 .war 之外拥有/保持配置)。在这种情况下,您必须在别处维护您的上下文文件的副本,因为 Tomcat 将通过执行两步更新来删除它:取消部署、部署。
    • @Destroyica 'web/META-INF in the source tree' 对我来说似乎很清楚,“与 WAR 文件分开”也是如此。它们是两种不同的建议,而不是同一种建议,如果这让您感到困惑的话。
    • 什么是“源代码树”?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-13
    • 1970-01-01
    • 2013-01-19
    • 2016-11-24
    • 2012-04-12
    相关资源
    最近更新 更多