Jersey 実装を使用して JAX-RS Web サービスを実行する Web アプリケーションがあります。ターゲット アプリケーション サーバーは、デフォルトの JAXRS 実装が Jersey v1.9 である WebLogic 12c です。
1) jersey-server-1.9 に依存する Jetty (6.1.26) で実行すると、すべて問題ありません。
2) jersey-core.jar + jersey-server.jar (v1.9) jar を両方とも私の戦争の WEB-INF/lib に埋め込んで WebLogic 12c で実行すると、それも機能します。
2) これら 2 つの jar から切断された同じ war を使用して WebLogic 12c で実行すると (weblogic Java EE スタックによって既に提供されている必要がない場合)、動作しなくなります。次のエラーが発生しました。
"weblogic.application.ModuleException: [HTTP:101216]サーブレット: "jersey-servlet" が Web アプリケーションの起動時にプリロードできませんでした: "cachede-newgen.war".com.sun.jersey.api.container.ContainerException: ResourceConfigインスタンスにはルート リソース クラスが含まれていません。com.sun.jersey.server.impl.application.RootResourceUriRules.(RootResourceUriRules.java:99)"
言うまでもなく、Jersey バージョンは3 つのケースすべてでまったく同じです。
「2013 年 4 月 24 日 4:10:24 PM com.sun.jersey.server.impl.application.WebApplicationImpl _initiate INFO: ジャージー アプリケーションの開始、バージョン 'ジャージー: 1.9 09/02/2011 11:17 AM'」
クラスパスまたはクラスローダーの問題のように聞こえます:-(
この問題を解決するためのアイデアや回避策はありますか(展開されたすべての戦争でジャージージャーを繰り返したくないことを考慮して)?