Tomcat 7不会自动解包战争

时间:2017-11-14 14:37:30

标签: tomcat7 war

我想以root应用程序部署我的应用程序,因此我将我的战争重命名为ROOT.war。默认server.xml看起来像 -

  <Host name="localhost"  appBase="webapps"
        unpackWARs="true" autoDeploy="true">

    <!-- SingleSignOn valve, share authentication between web applications
         Documentation at: /docs/config/valve.html -->
    <!--
    <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
    -->

    <!-- Access log processes all example.
         Documentation at: /docs/config/valve.html
         Note: The pattern used is equivalent to using pattern="common" -->
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
           prefix="localhost_access_log." suffix=".txt"
           pattern="%h %l %u %t &quot;%r&quot; %s %b" />

  </Host>

我还需要提供一些静态内容。所以我添加了Context tag -

  <Host name="localhost"  appBase="webapps"
        unpackWARs="true" autoDeploy="true">

    <!-- SingleSignOn valve, share authentication between web applications
         Documentation at: /docs/config/valve.html -->
    <!--
    <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
    -->

    <Context docBase="/home/athakur/Documents/UI" path="/" />

    <!-- Access log processes all example.
         Documentation at: /docs/config/valve.html
         Note: The pattern used is equivalent to using pattern="common" -->
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
           prefix="localhost_access_log." suffix=".txt"
           pattern="%h %l %u %t &quot;%r&quot; %s %b" />

  </Host>

我想从此路径提供静态内容,并从我的ROOT.war提供apis。但是只要我添加上下文元素ROOT.war就不会扩展并进行部署。当我删除它的上下文路径时。此外,还可以从添加上下文标记的路径中正确呈现UI。所以也不想改变这种行为。

1 个答案:

答案 0 :(得分:0)

看起来我们不能这样做。我们不能在同一主机下有两个具有相同路径和不同docBase的上下文。所以你不能 -

<Context docBase="/home/athakur/Documents/UI" path="/" />
<Context docBase="ROOT" path="/" />

所以我不得不接受

<Context docBase="/home/athakur/Documents/UI" path="/" />
<Context docBase="ROOT" path="/apis" />

如果您只想在根级别执行此操作,则需要在Web应用程序中执行此操作。 文档 - https://tomcat.apache.org/tomcat-8.0-doc/config/context.html