我最近为MarkLogic开发构build了一个Ubuntu虚拟机。 然后,该机器被分配给4个其他开发者,以提供一致的开发平台。 现在,我正在为由一些Java库和一个JSP Web应用程序组成的开发难题设置另一块。 项目源位于开发者用户主目录中(每台机器具有相同的帐户)。 我在/var/lib/tomcat6/webapps/目录中添加了一个符号链接,指向项目目录中的Web应用程序源代码根目录。
/var/lib/tomcat6/webapps/jspapp -> /home/developer/dev/workspace/svn/Project/webapp/
(实际的JSP文件存在于Project / webapp目录中。)
这对我的VM实例工作正常。 我成功地将安装程序复制到另一个虚拟机,它工作正常。 但是,我在其上复制设置的其他虚拟机无法正常工作。 在前两个虚拟机上,我得到了网页应用程序的页面。 在其他虚拟机上,我得到404。
虚拟机都是从一个原始的克隆。 除了1个configuration值(本地计算机的IP地址)之外,所有的Web应用程序项目源都是相同的。 我用相同的方式创build了符号链接,并validation文件和目录的权限/模式是相同的。 我比较了tomcat的安装目录,看到它们之间没有configuration差异。 我所看到的唯一文件差异就是Catalina的caching数据。 对于所有意图和目的,设置是相同的。 然而,显然,有些事情是不一样的。
有没有人有一个关于如何解决这个问题的build议? 我相当新的Linux世界和全新的tomcat。
更新 – 我将链接的目录的内容复制到一个同名的实际目录中(删除链接后),但仍然不起作用。 但是,我可以看到/var/lib/tomcat6/webapps/ROOT/index.html的副本,我将其放入问题目录中。 它的行为几乎就像JSP文件被忽略。
快速清单:
检查allowLinking="true"是否在您的Tomcatconfiguration中设置: https : allowLinking="true"
检查tomcat进程的用户对/home/developer/dev/workspace/svn/Project/webapp/目录(即/home , /home/developer , /home/developer/dev , /home/developer/dev/workspace ,…)