1

如何修复 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,所以我不能只要求它为我解决问题。)

4

0 回答 0