【问题标题】:Tomcat 7 symbolic link to war fileTomcat 7符号链接到war文件
【发布时间】:2015-01-08 19:28:54
【问题描述】:

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

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

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

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 文件中抽象出版本号。任何想法为什么这不起作用,或者我做错了什么?

谢谢。

【问题讨论】:

  • 已修复。我一定是盯着它看太久了。基本上,符号链接需要有一个 .war 扩展名。
  • 这些都在/webapps目录下?
  • 我不完全理解你的问题。我在 tomcat7/webapps 目录中有一个符号链接。实际链接到的战争是在我创建的一个外部目录中,它恰好被命名为 tomcat/webapps。

标签: java tomcat tomcat7 war symlink


【解决方案1】:

我发现了问题。 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"/>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-25
    • 2011-06-16
    • 2021-01-15
    • 2011-07-03
    • 1970-01-01
    • 1970-01-01
    • 2012-12-14
    相关资源
    最近更新 更多