为旧版Tomcat应用程序指定WEB-INF的位置

时间:2010-12-02 16:38:23

标签: jsp tomcat configuration

我正在尝试为遗留的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和类文件夹?这些“应用”未被部署为战争文件......

(注意 - 制作生产箱的副本会很困难 - 那里有很多东西在运行。我正试图削减它以为一些应用程序创建一个测试环境。)

1 个答案:

答案 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配置