私は休憩アプリケーションを持っています。私の目的は、IBM JAX-RSを削除し、RESTEasy JAX-RSの実装を使用することです。私はWAS8を使用しており、これだけを使用したいと考えています。REST APIのRESTEasy JAX-RS実装をテストできません
IBM JAX-RSを無効にするために、IBMRestServletクラスとIBMRestFilterクラスを削除し、管理コンソールでcom.ibm.websphere.jaxrs.server.DisableIBMJAXRSEngine JVM propをtrueに設定しました。 web.xmlのRESTEasyのJAX-RSのimplementaionについては
、追加RESTEasyの-jaxrs POMで依存して設定されたサーブレット
<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/specimenpl/BuiltResponse.getHeaders() "例外です。様々な答えを見ると、今は、この後、私は取得しています)
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>jaxrs-api</artifactId>
<version>3.0.11.Final</version>
</dependency>
Bを(このdoesntのは、私には何の意味もかかわらず)のpom.xmlでの最初として、依存関係の下に追加java.lang.NoSuchMethodErrorの:javaxの/ WS /rs/ClientErrorException.validate(Ljavax/ws/rs/core/Response;Ljavax/ws/rs/core/Response$Status$Family;Ljavax/ws/rs/core/Response)
解決を手伝ってもらえますか? A例外とB例外の両方。 WAS8だけでこれを試してみたい。
また、IBM JAX-RSを完全に無効にし、サーバーがREST Easy jaxrsのみを選択していることを確認するにはどうすればよいですか。
はい、私はそれを変更しました。私のアプリケーションクラスローダーの順序は、ローカルクラスローダーで最初にロードされたクラス(親の最後)です。 – user3766874
アプリケーションではなくWebモジュールで設定したことをもう一度確認します。クラスローダーは別々に用意されています。クラスローダーは別々に設定する必要があります。それが解決されず、APIと実装用のjarファイルの両方がその設定のローダーに含まれていることが確かであれば、おそらくスタックトレースがそれを絞り込むのに役立つかもしれません。何か問題が起きている可能性があります予期しない範囲。 – Jarid