在 tomcat 中获取另一个 webapp 的上下文

Getting context of another webapp in tomcat

我在 Tomcat 8.0.20 上有以下配置 运行:

C:\tomcat
   conf
     server.xml
     context.xml
   webapps
     app
     app2
   ......
C:\external
     app3
        web
     app4
        web
     app5
        web

在 context.xml 我有 <Context crossContext="true"> .... </Context>

并且在 server.xml 中:

 ..........
 <Host name="host.com"  appBase="webapps" unpackWARs="true" autoDeploy="true">
    <Context 
      cachingAllowed="false"
      docBase="C:\external\app3\web" 
      path="" 
      crossContext="true"
      reloadable="true" />

    <Context 
      cachingAllowed="false"
      crossContext="true"
      docBase="C:\external\app4\web" 
      path="/app4"
      reloadable="true" />

    <Context 
      cachingAllowed="false"
      crossContext="true"
      docBase="C:\external\app5\web" 
      path="/app5"
      reloadable="true" />
 </Host>

/app4 获取 /app/app2/app5 的上下文按预期工作:

request.getServletContext().getContext("/app") 不为空。

但是,请求 /app3 的上下文(上下文路径 /)。

知道为什么 getContext("/") 为空吗?

事实证明,这是 tomcat 版本 8.0.15

之后的回归

提交错误报告 here

已恢复 tomcat 到 8.0.15,现在可以使用了....