war中的Jersey rest库与WAS 8.5冲突,并给出java.lang.NoSuchMethodError:javax/ws/rs/core/Application.getProperties()Ljava/util/Map;

war中的Jersey rest库与WAS 8.5冲突,并给出java.lang.NoSuchMethodError:javax/ws/rs/core/Application.getProperties()Ljava/util/Map;,rest,websphere,jersey-2.0,Rest,Websphere,Jersey 2.0,应用服务器:WebSphere8.5 项目类型:这是一个基于Restful Web服务的war项目,使用jerseyjavax.ws.rs-api-2.0.1.jar创建,jersey库在Web-INF/lib中提供 我们正在成功安装和启动该项目。但当我们调用web服务时,会遇到以下异常:- 000000c7 webapp E com.ibm.ws.webcontainer.webapp.WebApp logServletError SRVE0293E: [Servlet Erro

应用服务器:WebSphere8.5

项目类型:这是一个基于Restful Web服务的war项目,使用jerseyjavax.ws.rs-api-2.0.1.jar创建,jersey库在Web-INF/lib中提供

我们正在成功安装和启动该项目。但当我们调用web服务时,会遇到以下异常:-

000000c7 webapp        E com.ibm.ws.webcontainer.webapp.WebApp logServletError SRVE0293E: [Servlet Error]-[Jersey RESTful Application]: java.lang.NoSuchMethodError: javax/ws/rs/core/Application.getProperties()Ljava/util/Map;
    at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:331)
    at org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:392)
    at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:177)
    at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:369)
    at javax.servlet.GenericServlet.init(GenericServlet.java:161)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:336)
    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.init(ServletWrapperImpl.java:168)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:629)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:456)
    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1027)
    at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3703)
    at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:304)
    at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:962)
    at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662)
    at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:195)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:522)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:311)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:282)
    at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
    at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
    at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
    at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
    at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
    at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
    at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
    at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
    at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1783)
000000 c7 webapp E com.ibm.ws.webcontainer.webapp.webapp logServletError SRVE0293E:[Servlet错误]-[Jersey RESTful Application]:java.lang.NoSuchMethodError:javax/ws/rs/core/Application.getProperties()Ljava/util/Map;
位于org.glassfish.jersey.server.ApplicationHandler.(ApplicationHandler.java:331)
位于org.glassfish.jersey.servlet.WebComponent(WebComponent.java:392)
位于org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:177)
位于org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:369)
位于javax.servlet.GenericServlet.init(GenericServlet.java:161)
位于com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:336)
位于com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.init(ServletWrapperImpl.java:168)
位于com.ibm.ws.webcontainer.servlet.ServletWrapper.HandlerRequest(ServletWrapper.java:629)
位于com.ibm.ws.webcontainer.servlet.ServletWrapper.HandlerRequest(ServletWrapper.java:456)
位于com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.HandlerRequest(ServletWrapperImpl.java:178)
在com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters上(WebAppFilterManager.java:1027)
位于com.ibm.ws.webcontainer.webapp.webapp.handleRequest(webapp.java:3703)
位于com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:304)
位于com.ibm.ws.webcontainer.webcontainer.handleRequest(webcontainer.java:962)
位于com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662)
位于com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:195)
位于com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458)
位于com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:522)
在com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:311)上
位于com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:282)
位于com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
位于com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
在com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted上(AioReadCompletionListener.java:165)
位于com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
位于com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
位于com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
位于com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
位于com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
位于com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
位于com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1783)
我尝试了以下链接,但没有帮助


如果您可以使用WebSphere Liberty,它只会公开您想要的功能,因此更容易避免此类类加载冲突。如果您可以移动到WebSphere v9.0,它已从jax rs 1.1更新为jax rs 2.0,因此具有所需的方法签名。您是否已将classloader设置为首先(最后)从web应用程序加载类?