Tomcat 7 个符号 link 到 war 文件

Tomcat 7 symbolic link to war file

我想在 tomcat 的 webapps 目录中有一个符号 link 指向我文件系统中另一个位置的 war 文件,我想要那个 war 文件作为默认的网络应用程序。我拼凑了以下解决方案,但无法从浏览器访问该应用程序。

我的主目录中有一个文件夹 ~/tomcat/webapps。所有者是tomcat7。在这个文件夹中,我有我的 war 文件,myapp-1.0.war.

在我的 /var/lib/tomcat7/webapps 目录中,我有一个符号 link:

myapp -> /home/[me]/tomcat/webapps/myapp-1.0.war.

在我的 /etc/tomcat7/server.xml 中,我有:

<Context docBase="/var/lib/tomcat7/webapps/myapp" path="" reloadable="true" allowLinking="true"/>

Tomcat 启动时日志中没有任何投诉,但我的应用程序无法访问。 [host]:8080/rest/ returns 404,它通常会把我带到主页。

我部分地想这样做是为了从我的 war 文件中提取版本号。知道为什么这不起作用,或者我做错了什么吗?

谢谢。

我发现了问题。 webapps 目录中的符号链接需要具有 .war 扩展名。所以,而不是:

myapp -> /home/[me]/tomcat/webapps/myapp-1.0.war

应该是:

myapp.war -> /home/[me]/tomcat/webapps/myapp-1.0.war

我还能够缩短 docBase 属性的值,如下所示:

<Context docBase="myapp" path="" reloadable="true" allowLinking="true"/>