[英]tomcat does not pick the context.xml, it is getting coopied to CATALINA_HOME> conf>Catalina>localhost though
我的context.xml(位于META_INF中)文件夹如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<Context path="MY_CONTEXT_NAME" docBase="${catalina.home}/webapps/MY_APP_NAME"
debug="0" privileged="true">
</Context>
问题是,当我通过tomcat管理器部署应用程序时,context.xml将被复制到CATALINA_HOME> conf> Catalina> localhost文件夹中。 但是,它仍然可以通过默认上下文app_war_name进行部署。
早些时候,它甚至没有被复制到localhost文件夹,我从tomcat 6.0> conf文件夹中删除了默认的context.xml。 之后,至少要复制该文件。 但是,部署不是从显式的context.xml进行的。
我的server.xml主机条目如下所示:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="false"
xmlValidation="false" xmlNamespaceAware="false" >
</Host>
阅读Context元素的path元素的文档。 它说得很清楚
仅当在server.xml中静态定义上下文时,才必须使用此属性。 在所有其他情况下,将从用于.xml上下文文件或docBase的文件名中推断出路径。
即使在server.xml中静态定义上下文时,也不得设置此属性,除非docBase不在主机的appBase下,或者deployOnStartup和autoDeploy均为false。 如果不遵循此规则,则可能导致双重部署。
然后阅读docBase元素的文档。
除非在server.xml中定义了Context元素或docBase不在主机的appBase下,否则不得设置此字段的值。
如果使用新的上下文或更改的上下文再次部署,则需要先取消部署/或从conf /.../ localhost / yourapp.xml中删除context.xml
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.