web-dev-qa-db-ja.com

ジャージージャクソンとコードハウスvs.fasterxml

Jackson 2.2.1でJersey 1.17.1を使用しています。

Jacksonはパッケージをorg.codehausからcom.fasterxmlに切り替えたようです。すべてのコードを適切に構成し、最新のジャクソンを使用しています。しかし、ジャージーはまだorg.codehaus.jacksonを引き入れているようです。これを軽減する方法はありますか、またはジャージがcodehausパッケージを使用するようにアップグレードされるまで、fasterxmlパッケージを使用する必要がありますか?

28
robert_difalco

古いジャクソンライブラリは、 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ライブラリを囲む一種のラッパーライブラリです。削除したら、Jackson 2.2.1ライブラリとJAX-RSプロバイダーの依存関係を追加できます。

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

Jersey-jsonを削除すると、Stax2、Jettison、またはJAXBプロバイダーがなくなることに注意してください。それらが必要な場合は、手動でそれらの依存関係を見つけて追加する必要があります。

26
Perception