以前,我们对项目的不同组件使用的是Jersey 1.17和org.apache.cxf 2.6.0版本。现在,我们的项目迁移到Jersey 1.19.4和cxf 3.2.6。我看到泽西岛1.19.4持有javax.ws.rs:jsr311-api:jar:1.1.1,其中cxf 3.2.6持有javax.ws.rs:javax.ws.rs-api:jar:2.1。所有组件都已成功编译,没有任何故障。但是在应用程序中,我们面临以下问题:-
2018年10月17日上午10:29:08 org.apache.catalina.core.StandardWrapperValve调用 严重:路径为[/ caservice]的上下文中的Servlet [CA Service REST API]的Servlet.service()引发了异常[Servlet执行引发了异常]并产生了根本原因 java.lang.AbstractMethodError:javax.ws.rs.core.UriBuilder.uri(Ljava / lang / String;)Ljavax / ws / rs / core / UriBuilder; 在javax.ws.rs.core.UriBuilder.fromUri(UriBuilder.java:120) 在com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:669) 在javax.servlet.http.HttpServlet.service(HttpServlet.java:742) 在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) 在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 在org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationF)
How We resolve this issue ?
升级后,这就是我的依赖树结构
+- org.apache.cxf:cxf-core:jar:3.2.6:compile
[INFO] | | +- com.fasterxml.woodstox:woodstox-core:jar:5.1.0:compile
[INFO] | | | \- org.codehaus.woodstox:stax2-api:jar:4.1:compile
[INFO] | | \- org.apache.ws.xmlschema:xmlschema-core:jar:2.2.3:compile
[INFO] | +- org.apache.cxf:cxf-rt-rs-client:jar:3.2.6:compile
[INFO] | | \- org.apache.cxf:cxf-rt-frontend-jaxrs:jar:3.2.6:compile
[INFO] | | +- javax.ws.rs:javax.ws.rs-api:jar:2.1:compile
[INFO] | | \- javax.annotation:javax.annotation-api:jar:1.2:compile
[INFO] | +- org.apache.cxf:cxf-rt-transports-http:jar:3.2.6:compile
+- com.sun.jersey:jersey-core:jar:1.19.4:compile
[INFO] | \- javax.ws.rs:jsr311-api:jar:1.1.1:compile