如何修复 Tomcat 7 中的冲突库?
我需要使用这两个类:
javax.servlet.Servlet
javax.ws.rs.core.UriInfo
Servlet 包含在 Tomcat 7 提供的 servlet-api.jar 中,位于其自己的 lib 目录中。
UriInfo 由 javaee-web-api-6.0.jar 提供。但是该库还包括 Servlet.class!因此,如果我包含第二个库,则会收到此错误:
INFO: validateJarFile(/Users/.../web/WEB-INF/lib/javaee-web-api-6.0.jar) - jar not
loaded. See Servlet Spec 2.3, section 9.7.2.
Offending class: javax/servlet/Servlet.class
但如果我不包括它,我会收到此错误:
NoClassDefFoundError: javax/ws/rs/core/UriInfo
而且我不能只用 javaee-web-api-6.0.jar 替换 Tomcat 发行版中的 servlet-api.jar,因为它不是超集。这两个文件都不是另一个文件的超级集,但它们有很多共同点。
有人知道如何解决这个问题吗?
(PS 我不使用 Maven,所以我不能只要求它为我解决问题。)