我想以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 "%r" %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 "%r" %s %b" />
</Host>
我想从此路径提供静态内容,并从我的ROOT.war提供apis。但是只要我添加上下文元素ROOT.war就不会扩展并进行部署。当我删除它的上下文路径时。此外,还可以从添加上下文标记的路径中正确呈现UI。所以也不想改变这种行为。
答案 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