Jersey Jackson和codehaus vs. fasterxml

时间:2013-06-01 19:34:50

标签: jersey jackson

我使用Jersey 1.17.1和Jackson 2.2.1。

杰克逊似乎将包从org.codehaus切换到com.fasterxml。我已正确配置所有代码并使用最新的jackson。然而,看起来泽西仍然在进入org.codehaus.jackson。有什么方法可以缓解这种情况,还是应该坚持使用codehaus包,直到泽西升级为使用fasterxml包裹?

1 个答案:

答案 0 :(得分:24)

旧的杰克逊图书馆作为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提供程序。如果您需要那些,那么您必须手动找到并添加依赖项。