2016-09-05 12 views
3

Weblogic 12.2.1にはJAX-RS 2.0の実装としてJersey 2.21.1がありますが、Jersey 2.5.1または最新バージョンのJerseyを使用したいと思います。weblogicからJerseyを無効にする方法12.2.1

一般的な方法は、アプリケーションからクラスをロードするために構成ファイルにクラスを定義することです。

weblogicまたはJerseyをアップグレードするときに、クラスの競合を調べて設定を変更する必要があります.jerseyをweblogicから無効にする便利な方法はありますか?

答えて

3

プロジェクトのweb-inf libにjerseyファイルを含める必要があります(jerseyのWebサイトからjerseyおよびdependencies zipファイルを取得できます)。また、これらの行をweblogic.xmlファイルに追加してくださいUsing Jersey 2.x web service on Weblogic 12.1.1):これを行う

<container-descriptor> 

    <prefer-application-packages> 
     <!-- jsr311 --> 
     <package-name>javax.ws.rs.*</package-name> 
     <!-- javassist --> 
     <package-name>javassist.*</package-name> 
     <!-- aop repackaged --> 
     <package-name>org.aopalliance.*</package-name> 

     <!-- jersey 2 --> 
     <package-name>jersey.repackaged.*</package-name> 
     <package-name>org.glassfish.jersey.*</package-name> 
     <package-name>com.sun.research.ws.wadl.*</package-name> 

     <!-- hk2 --> 
     <package-name>org.glassfish.hk2.*</package-name> 
     <package-name>org.jvnet.hk2.*</package-name> 
     <package-name>org.jvnet.tiger_types.*</package-name> 

    </prefer-application-packages> 

    <prefer-application-resources> 
     <resource-name>META-INF/services/javax.servlet.ServletContainerInitializer</resource-name> 
     <resource-name>META-INF/services/javax.ws.rs.ext.RuntimeDelegate</resource-name> 

     <!-- jersey --> 
     <resource-name>META-INF/services/org.glassfish.jersey.*</resource-name> 
     <resource-name>org.glassfish.jersey.*</resource-name> 
     <resource-name>jersey.repackaged.*</resource-name> 

     <!-- hk2 --> 
     <resource-name>META-INF/services/org.glassfish.hk2.*</resource-name> 
    </prefer-application-resources> 
</container-descriptor> 

は、WebLogic 12.2.1で使用ジャージバージョンを上書きします。

  • ジャージーメディア-JSON-ジャクソン
  • ジャクソンjaxrs-JSON-プロバイダ
  • :あなたはJSONを使用している場合は、この記事 POST to Jersey REST service getting error 415 Unsupported Media Typeに示すように

    あなたはまた、これらのjarファイルを取得する必要があります

  • ジャクソンコア
  • ジャクソン・データバインド
  • ジャクソン注釈
  • ジャクソンjaxrsベース
  • ジャクソン・モジュール - JAXB-注釈
  • ジャージーエンティティフィルタリング

とはweblogic.xmlで<prefer-application-packages>セクションに以下の行を追加します。

<package-name>org.codehaus.jackson.*</package-name> 
<package-name>com.fasterxml.jackson.*</package-name> 

UDPATE - も言及する価値そのweblogic 12のデフォルトのJSONバインダーはMOXyで、Jerseyではなく、これは私にいくつかの問題を引き起こし、私は最終的に上記の変更を不要にするJerseyをプロバイダーに置き換えました。

関連する問題