29

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

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

4

1 に答える 1

30

古い 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 クラスにリンク時の依存関係があるため、単純に除外を使用することはできません。代わりにやりたいことは、それを完全に省略することです。これは実際には、必ずしも必要ではない一連の 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 プロバイダーがなくなることに注意してください。それらが必要な場合は、それらの依存関係を手動で見つけて追加する必要があります。

于 2013-06-09T05:51:50.230 に答える