【发布时间】:2016-11-17 11:54:32
【问题描述】:
我有一个休息应用程序。我的目标是删除 IBM JAX-RS 并使用 RESTEasy JAX-RS 实现。我正在使用 WAS8,我只想使用这个。
为了禁用 IBM JAX-RS,我删除了 IBMRestServlet 和 IBMRestFilter 类,并在管理控制台中将 com.ibm.websphere.jaxrs.server.DisableIBMJAXRSEngine JVM 属性设置为 tru。
对于 RESTEasy JAX-RS 实现,在 pom 中添加了 resteasy-jaxrs 依赖,并在 web.xml 中配置了 servlet
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
<version>3.0.11.Final</version>
</dependency>
Web.xml
<context-param>
<param-name>resteasy.servlet.mapping.prefix</param-name>
<param-value>/</param-value>
</context-param>
<listener>
<listener-class>
org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap
</listener-class>
</listener>
<servlet>
<servlet-name>resteasy-servlet</servlet-name>
<servlet-class>
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher
</servlet-class>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value>com.application.RestApplication</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>resteasy-servlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
A) 最初我得到“java.lang.NoSuchMethodError: org/jboss/resteasy/specimpl/BuiltResponse.getHeaders()”异常。查看各种答案,在 pom.xml 中添加以下依赖项(尽管这对我没有任何意义)
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>jaxrs-api</artifactId>
<version>3.0.11.Final</version>
</dependency>
B) 现在,我得到 java.lang.NoSuchMethodError: javax/ws/rs/ClientErrorException.validate(Ljavax/ws/rs/core/Response;Ljavax/ws/rs/core/Response$Status$家庭;Ljavax/ws/rs/core/Response)
您能帮我解决 A 和 B 异常吗?我只想在 WAS8 中尝试这个。
另外,我如何确定我已完全禁用 IBM JAX-RS 并且服务器只选择 REST Easy jaxrs。
【问题讨论】:
标签: rest jax-rs websphere resteasy