我正在尝试为遗留的Apache / Tomcat应用程序构建测试设置。说实话,我不确定它是否是“申请表”。它是碰巧位于某个目录中的JSP集合。
jsps正在正确显示。问题是找不到WEB-INF文件夹中的classes文件夹 - 我收到了NoClassDefFoundError异常。
为了使事情复杂化,有两个'apps'并且它们共享一个WEB-INF:
4 drwxr-xr-x 8 root root 4096 Dec 2 09:38 thing1
4 drwxr-xr-x 8 root root 8192 Dec 2 09:38 thing2
4 drwxr-xr-x 8 root root 4096 Dec 2 09:38 WEB-INF
因此,在这个为您理解的清理示例中,我们看到了两个“应用程序”和共享的WEB-INF文件夹。
一个有效的网址是 http://mysite/thing1/index.jsp 但是,当我们尝试从该网页登录时,我们会收到NoClassDef错误。
这是server.xml文件的相关部分。所以前面提到的index.jsp文件的实际路径是 tony / ROOT / thing1 / index.jsp
<Host name="tony.com" appBase="tony/ROOT">
<Alias>111.111.111.111</Alias>
<Context path="" docBase="" debug="0" reloadable="true" crossContext="true" />
</Host>
我的问题是,我如何配置Tomcat所以thing1&amp; 2使用WEB-INF作为他们的lib和类文件夹?这些“应用”未被部署为战争文件......
(注意 - 制作生产箱的副本会很困难 - 那里有很多东西在运行。我正试图削减它以为一些应用程序创建一个测试环境。)
答案 0 :(得分:0)
Web应用程序必须具有以下结构:
tomcat/webapps/appname
tomcat/webapps/appname/*.jsp
tomcat/webapps/appname/WEB-INF
tomcat/webapps/appname/WEB-INF/lib
tomcat/webapps/appname/WEB-INF/classes
这样它应该可以工作,没有任何额外的xml配置