我已经实现了与 Jersey 2.4 的 API 集成,但是在尝试启动我的 tomcat 时遇到了问题
SEVERE: Servlet.service() for servlet [Jersey REST Service] in context with path [] threw exception [Servlet execution threw an exception] with root cause
java.lang.AbstractMethodError: javax.ws.rs.core.UriBuilder.uri(Ljava/lang/String;)Ljavax/ws/rs/core/UriBuilder;
at javax.ws.rs.core.UriBuilder.fromUri(UriBuilder.java:119)
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:286)
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:218)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:81)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
也许在使用 UriBuilder 时存在冲突,它在 javax.ws.rs.core 和 org.apache.cxf.jaxrs.impl 中的 UriBuilderImpl 中引用。如果我将 WEB-INF\lib 中的 cxf-2.6.0.jar 重命名为 zxf-2.6.0.jar(最后加载),一切正常。
我怎样才能以优雅的方式解决这个问题?