我想在 tomcat 的 webapps 目录中有一个符号链接(symbolic link),指向文件系统中另一个位置的 war 文件,并且我希望将该 war 文件作为默认的 webapp。我拼凑了以下解决方案,但无法从浏览器访问该应用程序。
我的主目录 ~/tomcat/webapps 中有一个文件夹。所有者是tomcat7。在此文件夹中,有我的 war 文件 myapp-1.0.war。
在我的/var/lib/tomcat7/webapps 目录中,我有一个符号链接(symbolic 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/返回 404,通常会将我带到主页。
我部分想这样做是为了从我的 war 文件中提取版本号。任何想法为什么这不起作用,或者我做错了什么?
谢谢。
最佳答案
我发现了问题。 webapps 目录中的符号链接(symbolic link)需要具有 .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"/>
关于java - Tomcat 7 到 war 文件的符号链接(symbolic link),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27848047/