java - Tomcat 7 到 war 文件的符号链接(symbolic link)

标签 java tomcat tomcat7 war symlink

我想在 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/

相关文章:

java - Tomcat进程未关闭

tomcat - tomcat 5.5.27 中的 session JSession Id

tomcat不会将http重定向到https

tomcat - Netbeans 无法部署到 Tomcat 7,适用于 Tomcat 6

java - Jackson JSON如何设置http连接和读取超时

java - int 与 int 相配 (1+1=11)

java - javanica 中的 Hystrix 异步方法未在 spring-boot java 应用程序中运行

tomcat - 如何使用gradle-cargo-plugin部署到本地tomcat?

java - 对来自不同类的对象的数组列表进行排序

Java DatagramSocket 设置 keep-alive 选项