【发布时间】:2013-05-28 09:47:46
【问题描述】:
我将 Jersey 1.17.1 与 Jackson 2.2.1 一起使用。
杰克逊似乎将软件包从org.codehaus 切换到com.fasterxml。我已正确配置所有代码并使用最新的杰克逊。但是,泽西岛似乎仍在吸引org.codehaus.jackson。有什么办法可以缓解这种情况,还是我应该坚持使用codehaus 包,直到球衣升级为使用fasterxml 包?
【问题讨论】:
我将 Jersey 1.17.1 与 Jackson 2.2.1 一起使用。
杰克逊似乎将软件包从org.codehaus 切换到com.fasterxml。我已正确配置所有代码并使用最新的杰克逊。但是,泽西岛似乎仍在吸引org.codehaus.jackson。有什么办法可以缓解这种情况,还是我应该坚持使用codehaus 包,直到球衣升级为使用fasterxml 包?
【问题讨论】:
较旧的 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 库的包装库。删除后,您可以为 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 提供程序。如果您需要这些,则必须手动查找并添加依赖项。
【讨论】: