首页 文章

tomcat没有选择context.xml,它正在合并到CATALINA_HOME> conf> Catalina> localhost虽然

提问于
浏览
1

我的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 manager部署我的应用程序war时,context.xml被复制到CATALINA_HOME> conf> Catalina> localhost文件夹 . 但是,它仍然以某种方式从默认上下文部署,即app_war_name .

早些时候,它甚至没有被复制到localhost文件夹,我删除了默认的context.xml表单tomcat 6.0> conf文件夹 . 之后,该文件至少被复制 . 但是,部署不是从显式context.xml发生的 .

我的server.xml主机条目如下所示:

<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="false"
            xmlValidation="false" xmlNamespaceAware="false" >
  </Host>

2 回答

  • 0

    阅读Context元素的path元素的文档 . 它说得很清楚

    只有在server.xml中静态定义Context时,才能使用此属性 . 在所有其他情况下,将从用于.xml上下文文件或docBase的文件名推断出路径 . 即使在server.xml中静态定义Context,也不能设置此属性,除非docBase不在Host的appBase下,或者deployOnStartup和autoDeploy都为false . 如果未遵循此规则,则可能会导致双重部署 .

    然后阅读docBase元素的文档 .

    除非在server.xml中定义了Context元素或者docBase不在Host的appBase下,否则不能设置此字段的值 .

  • 0

    如果再次使用新上下文或更改的上下文进行部署,则需要首先取消部署/或从conf /.../ localhost / yourapp.xml中删除context.xml

相关问题