为什么tomcat喜欢删除我的context.xml文件?

Modified on: Wed, 09 Oct 2019 23:00:02 +0800

我正在开发一个基于Web的Java应用程序,并且(显然)必须在开发期间在本地运行它。我已经找到了Tomcat文档,并在/etc/tomcat6/Catalina/localhost/中有一个合适的context.xml文件,但每隔一段时间,Tomcat决定删除它!这意味着我必须将其重新启动并重新启动Tomcat。

为什么这样做?我已经搜索过Tomcat文档,并且没有更明智。

(哦是的:它实际上并没有被称为context.xml,而是owners.xml,因为它是此应用程序的HTTP路径前缀。)

更新强>

我现在看到Tomcat在Tomcat运行时删除文件 。我想我需要提交一个bug ...

作者:,staticsan

最佳答案

快速摘要:有几个条件(如更改war文件,删除webapp或用新内容替换),tomcat将取消部署上下文,包括删除上下文文件。

详情:
tomcat是否执行autoDeployment(意味着检查.xml描述符中的更改以及检查webapp目录中的更改)是由以下驱动的:

  1. server.xml在$ CATALINA_HOME / conf / server.xml部分中进行了本地化:

    <主机名=“localhost”appBase =“webapps”unpackWARs =“true”autoDeploy =“true” xmlValidation =“false”xmlNamespaceAware =“false”>

    < / LI>
  2. 您还可以在上下文文件中设置此属性,重载值

  3. 醇>

    autoDeploy = true时的案例引用文档可能会导致删除您的上下文文件:

  • 删除WAR文件将触发取消部署应用程序,同时删除任何关联的扩展目录,上下文文件和工作目录。
  • 删除目录将触发取消部署应用程序并删除任何关联的上下文文件和工作目录。
  • 更新WAR文件将触发取消部署应用程序,同时删除任何关联的扩展目录,上下文文件和工作目录。
  • 更新目录(而不是目录内容)将触发取消部署应用程序并删除任何关联的上下文文件和工作目录。

详尽的详细信息http://tomcat.apache.org/tomcat-6.0-doc/config/host.html#Automatic%20Application%20Deployment

作者:,Jan Zyka

相关问答

添加新评论