如何为非标准 war 文件位置配置 Tomcat7 `server.xml`

How to configure Tomcat7 `server.xml` for non-standard war-file location

我希望 Tomcat7 应用程序具有此目录结构:

/var/lib/tomcat7/webapps
    /foo
        /current -> /var/lib/tomcat7/webapps/foo/releases/1.1
        /releases
            /1.0
            /1.1
        /shared ...

其中 current 是应用程序当前实际版本的符号链接。因此,我认为我需要向我的 server.xml 文件添加上下文,如下所示:

<Context path="/foo/app" docbase="/var/lib/tomcat7/webapps/foo/current" />

foo/app 的 URL 将是

http://localhost:8080/foo/app

然而我得到的只是 404 错误。我安装了 tomcat-admin,它显示了 foo/app,但并没有真正帮助我了解我在哪里接线不正确。我还在 /etc/tomcat7/Catalina/localhost 中尝试了一个 foo.xml 文件,它指定了路径和文档库,但这也没有用。

如何配置上下文以支持上面显示的目录结构?

您似乎无法在 appbase 中拥有备用上下文。如果您想要一个在 appbase 之外的应用程序,那么使用上下文路径和上下文文档库是可行的方法。

最终我放弃了强制使用 docbase 并导致我的 Tomcat 错误的文件结构。