在http://tomcat.apache.org/tomcat-6.0-doc/config/context.html将tomcat 6.0文件说:Tomcat相关管理
只有一个上下文文件不应用在
$CATALINA_BASE/conf/[enginename]/[hostname]/
在/META-INF/context.xml
申请文件中存在,在一个单独的文件。如果Web应用程序打包为WAR,则/META-INF/context.xml
将被复制到$CATALINA_BASE/conf/[enginename]/[hostname]/
并重命名以匹配应用程序的上下文路径。 一旦这个文件存在,如果在主机的appBase中放置了一个新版本的/META-INF/context.xml
,那么它将不会被替换。
但是我注意到,如果你在webapp目录提出了新的战争的文件,在META-INF
目录context.xml
替换$CATALINA_BASE/conf/[enginename]/[hostname]
context.xml
。
是否有任何配置可确保在部署新战争文件时不会覆盖context.xml
的$CATALINA_BASE/conf/[enginename]/[hostname]/
。
编辑:我使用自动部署=“真”从JoseK的评论,当Tomcat看到新的战争的文件我的理解,它取消部署旧应用程序(导致环境文件删除),并部署新的战争文件(导致创建新的战争文件)。在这种情况下,来自tomcat文档的上述信息是不相关的。新的问题是否会有上述情况发生的情况?
你如何部署到Tomcat?手动或使用IDE(Eclipse)插件?手动使用 – BalusC 2010-11-11 19:56:59
。我创建了war文件并将其移至webapp目录。 – Hemang 2010-11-11 21:37:05
你在'server.xml'的'host'元素上设置了'autoDeploy'属性吗?尝试将其设置为false。 – matt 2010-11-11 23:08:59