在 Eclipse 中,我有两个项目,每个项目都装有 servlet。项目 A 在其构建路径中包含项目 B。
问题是这些项目中的每一个都需要 servlet-api.jar 才能编译,而当 Tomcat 还需要其库中的 servlet-api.jar 来运行项目 A 时,情况会变得更糟。
当我在项目 A 和项目 B 以及 Tomcat 的 WEB-INF/lib 文件夹中都有 servlet-api.jar 时,我在 javax.servlet.Servlet 上得到一个 ClassNotFoundException,因为 servlet-api.jar 的多个实例发生冲突。如果我从任何一个项目中删除 servlet-api.jar,它们将无法再识别 HTTPWebRequest 类,即使我将 servlet-api.jar 留在项目 B 中并将项目 B 留在项目 A 的构建路径中,servlet 在项目 A 仍然无法识别 HTTPWebRequest 类。
如果我从 Tomcat 中删除 servlet-api.jar,Tomcat 将无法再运行,并在 javax/servlet/http/HttpServletRequest 上引发 NoClassDefFoundError。似乎没有任何方法可以让这三个人一起工作,因为他们每个人都需要 servlet-api.jar 才能工作,但如果有多个,就会发生冲突。
先感谢您!