2013-06-01 3 views
26

私はジャージー2.2.1でジャージー1.17.1を使用しています。ジャージージャクソンとコードハウス対ファーストクラス

ジャクソンのパッケージがorg.codehausからcom.fasterxmlに切り替わったようです。私はすべてのコードを正しく設定し、最新のjacksonを使用しています。しかし、ジャージーはまだorg.codehaus.jacksonに引っ張っているようだ。これを緩和する方法はありますか?またはジャージーがfasterxmlパッケージを使用するようにアップグレードされるまで、codehausパッケージに固執すべきですか?

答えて

22

古いJacksonライブラリは、jersey-jsonアーティファクトの依存関係として引き込まれています。

<dependency> 
    <groupId>com.sun.jersey</groupId> 
    <artifactId>jersey-json</artifactId> 
    <version>1.17</version> 
</dependency> 

がPOMに含まれている場合、プロジェクトに含まれるorg.codehaus.jacksonライブラリのバージョンが自動的に取得されます。残念なことに、jersey-json自体には、Jacksonクラスのリンク時間依存性があるため、単にexclusionsを使用することはできません。あなたが代わりにしたいのは、それを完全に省略することです。これは本当にあなたが必ずしも必要ではないJSONライブラリの束の周りのラッパーライブラリのようなものです。ジャージー-JSONを除去したあなたは、もはやStax2、投棄、またはJAXBプロバイダを持っていないこと

<dependency> 
    <groupId>com.fasterxml.jackson.jaxrs</groupId> 
    <artifactId>jackson-jaxrs-json-provider</artifactId> 
    <version>2.2.1</version> 
</dependency> 

注:一度ジャクソンはライブラリとJAX-RSプロバイダーを2.2.1のためにあなたは、依存関係を追加することができ、削除。これらが必要な場合は、手動で依存関係を見つけて追加する必要があります。

+3

ジャクソン2.2から、コードの場所はhttps://github.com/FasterXML/jackson-jaxrs-providers/blob/master/json/pom.xmlです。 – koppor

関連する問題