Websphere 8でJersey 2.10を使用しようとしていますが、JAX-RS 1.1(デフォルトのウィンク)の実装であるアプリケーションを参照しようとしています。IBMプロパティを設定してJAX-RSのデフォルトを無効にしたにもかかわらず、以下のエラーが発生します。
原因:Java.lang.NoSuchMethodError:javax/ws/rs/core/Application.getProperties()Ljava/util/Map; at org.glassfish.jersey.server.ApplicationHandler。(ApplicationHandler.Java:287) org.glassfish.jersey.servlet.WebComponent。(WebComponent.Java:311)で
私はPARENT_LASTにクラス読み込みポリシーを作成するという投稿を読みました。そのオプションの変更はWASコンソールで無効になっていたため、(WASの公開設定-サーバー上のリソースでサーバーを実行する)を使用しようとすると、サーバーがクラッシュしました。
お知らせ下さい。ありがとう。
次の手順を実行する必要があります。
JVMプロパティ_com.ibm.websphere.jaxrs.server.DisableIBMJAXRSEngine=true
_を介してJAX-RSに組み込まれたものを無効にする説明を参照してください here .
このプロパティは、Web管理コンソールの_Servers > WebSphere Application Servers > yourServerName
_で設定できます。次に、_Server Infrastructure
_セクション_Java and Process Management > Process definition > Java Virtual Machine > Custom properties
_で。
コンソールで_Environment > Shared Libraries
_を使用して、すべてのJAX-RS 2.10ライブラリを使用してisolated共有ライブラリを作成します。
ライブラリを作成するときに、_Use an isolated class loader for this shared library
_ Class Loadingオプションをチェックすることにより、分離された共有ライブラリが作成されます。
_Applications > appName > Shared library references
_を介して、インストール中または後で、この共有ライブラリをアプリケーションにマップします。
アプリケーションサーバーを再起動します。 SystemOut.logに、JAX-RSクラスを初期化するメッセージが表示されます。
_[7/12/14 16:10:36:470 CEST] 0000004a JerseyServlet I Registering the Jersey servlet application, named javax.ws.rs.core.Application, with the following root resource and provider classes: [class jax.Hello, class org.glassfish.jersey.server.wadl.internal.WadlResource]
[7/12/14 16:10:36:688 CEST] 0000004a ApplicationHa I Initiating Jersey application, version Jersey: 2.10.1 2014-06-30 13:53:32...
_
[〜#〜] update [〜#〜]
WAR内からJAX-RS jarをロードすることも可能であるようです。このDisableIBMJAXRSEngine
プロパティを設定する必要があり、module(EARレベルではない)クラスローダーのクラスロードオプションをClasses loaded with local class loader first (parent last)
に変更する必要があります。
管理コンソールで:
アプリケーション> WebSphere Enterprise Applications> {your.application}>モジュールの管理> {your.module}
[クラスローダーの順序]ドロップダウンをClasses loaded with local class loader first (parent last)
に変更します。
それをチェックしてくれたdooffasに感謝します。 JAX-RS 2.0 WebSphere 8.5分離共有ライブラリなし