Tomcat 6并在部署时更新context.xml

时间:2012-04-19 15:45:10

标签: tomcat tomcat6

我正在使用:

  • Tomcat 6.0.30

这是我的web应用程序项目中的context.xml和web.xml结构:

  • META-INF
    • context.xml中
  • WEB-INF
    • 的web.xml

当我为我的应用程序生成WAR文件时,context.xml正在按预期打包。当我将WAR文件复制到Tomcat webapps文件夹并启动Tomcat时,将解压缩WAR文件,并按预期将context.xml复制到\conf\Catalina\localhost\<webappname>.xml。但是,这仅在<webappname>.xml尚不存在时才有效。因此,我无法在不先删除现有<webappname>.xml的情况下更新context.xml,打包WAR和重新部署。我知道这是基于阅读文档的预期功能。

我的问题是,我该怎么办?如何更新context.xml并自动复制这些更新,就像它们是全新的一样?我不想在每次发布之前删除<webappname>.xml

也许我会以错误的方式解决这个问题?

1 个答案:

答案 0 :(得分:4)

如果首先取消部署应用程序,则会从conf / Catalina / localhost文件夹中删除.xml文件。只是放弃一个新的战争然而不会触发取消部署(只是部署),旧的xml文件将不会被替换。

您可以通过以下任一方式取消部署应用:

  • 删除webapps文件夹中的war文件 - tomcat将取消部署应用程序(如果在server.xml中为主机配置将autoDeploy设置为true)
  • 如果你安装了管理器应用程序,你可以在应用程序上发出delete / remove / undeploy命令,或者在上传新战争时可能有一个'undeploy'选项(我不记得确定它是哪一个)是)