繁体   English   中英

tomcat没有选择context.xml,尽管它已被关联到CATALINA_HOME> conf> Catalina> localhost

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM