JDK 1.8,JAX-RS 2.1,CXF和Websphere 8.5.5.10

问题描述 投票:0回答:1

我正在使用JAX-RS 2.1和CXF 3.2.6。我创建了hello world应用程序,并在Webpshere 8.5中进行了部署。它成功部署,当我试图击中低于异常。您能帮我解决这个问题吗?>

下面是我的web.xml

<servlet>
    <servlet-name>JAX-RS Servlet</servlet-name>
    <servlet-class>org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet</servlet-class>
    <init-param>
      <param-name>javax.ws.rs.Application</param-name>
      <param-value>com.web.ebill.csr.appservice.ServiceApp</param-value>
    </init-param>
    <load-on-startup>-1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>JAX-RS Servlet</servlet-name>
    <url-pattern>/service/*</url-pattern>
  </servlet-mapping>

E com.ibm.ws.webcontainer.webapp.WebApp logServletError SRVE0293E:[Servlet错误]-[CXFServlet]:java.lang.NoSuchMethodError:javax / ws / rs / core / Application.getProperties()Ljava / util / Map ; (由org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader@a4b360dc从文件:/ C:/IBM/WebSphere/AppServer/8.5/plugins/javax.j2ee.jaxrs.jar加载),从类org.apache.cxf调用。 jaxrs.servlet.CXFNonSpringJaxrsServlet(从文件加载:/ C:/workspaces/eblarc/.metadata/.plugins/com.genuitec.eclipse.blue.websphere.core/WebSphere_20_Application_20_Server_20_8_2e_5_20_at_20_localhost_20__28_2_29/No-/C-F/XX rt-frontend-jaxrs-3.2.6.jar由com.ibm.ws.classloader.CompoundClassLoader@3d4f5352 [war:CXFNoSpringDemo.ear / CXFNoSpringDemo.war]本地类路径:C:\ workspaces \ eblarc.metadata.plugins \ com.genuitec.eclipse.blue.websphere.core \ WebSphere_20_Application_20_Server_20_8_2e_5_20_at_20_localhost_20__28_2_29_ \ CXFNoSpringDemo \ CXFNoSpringDemo \ WEB-INF \ classins。 .genuitec.eclipse.blue.websphere.core \ WebSphere_20_Application_20_Server_20_8_2e_5_20_at_20_localhost_20__28_2_29_ \ CXFNoSpringDemo \ CXFNoSpringDemo \ WEB-INF \ lib \ cxf-core-3.2.6.jar; C:\ workspaces \ gen.ec.met.ec。 blue.websphere.core \ WebSphere_20_Application_20_Server_20_8_2e_5_20_at_20_localhost_20__28_2_29_ \ CXFNoSpringDemo \ CXFNoSpringDemo \ WEB-INF \ lib \ cxf-rt-frontend-jaxrs-3.2.6.jar; C:\ workspaces \ eblarc.met.data。 .websphere.core \ WebSphere_20_Application_20_Server_20_8_2e_5_20_at_20_localhost_20__28_2_29_ \ CXFNoSpringDemo \ CXFNoSpringDemo \ WEB-INF \ lib \ cxf-rt-transports-http-3.2.6.jar; C:\ workspaces \ eblarc.lip.com.data.plug。 websphere.core \ WebSphere_20_App lication_20_Server_20_8_2e_5_20_at_20_localhost_20__28_2_29_ \ CXFNoSpringDemo \ CXFNoSpringDemo \ WEB-INF \ lib \ javax.ws.rs-api-2.1.1.jar; C:\ workspaces \ eblarc.metadata.plugins \ com.gen_tec_20_web_20_at_20_server_20_web_20_server_20_web_20_server_20_web_20_server_20_web_en_20_server_20_web_20_server_20。 \ CXFNoSpringDemo \ CXFNoSpringDemo父:com.ibm.ws.classloader.CompoundClassLoader@108f956b [PF] [app:CXFNoSpringDemo.ear]委派模式:PARENT_FIRST)。在org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet.isAppResourceLifecycleASingleton(CXFNonSpringJaxrsServlet.java:418)在org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet.createServerFromApplication(CXFNonSpringJaxrsServlet.java:512)在org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet.init(CXFNonSpringJaxrsServlet.java:121)在com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:344)在com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.init(ServletWrapperImpl.java:168)在com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:636)在com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:480)在com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)在com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:136)在com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:97)在com.ibm.controller.InterceptFilter.doFilter(InterceptFilter.java:28)在com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195)在com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91)在com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:967)在com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1107)在com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3951)在com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:304)在com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1014)在com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1817)在com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:200)在com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:463)在com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:530)在com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:316)在com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:287)在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:175)在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:1892)>

我正在使用JAX-RS 2.1和CXF 3.2.6。我创建了hello world应用程序,并在Webpshere 8.5中进行了部署。它成功部署,当我试图击中低于异常。你能帮忙...

rest websphere cxf websphere-8
1个回答
0
投票

您似乎正在尝试使用2.1 JAX-RS版本(Apache CXF),但是由于类加载器委托的工作原理,您正在从服务器获取API(WebSphere 8.5.5包括JAX-RS 1.1)。 CXFNonSpringJaxrsServlet尝试调用1.1中不存在的JAX-RS 2.1 API方法,因此发生错误。

© www.soinside.com 2019 - 2024. All rights reserved.