Jersey Jackson和codehaus vs. fasterxml

rob*_*lco 28 jersey jackson

我在Jackson 2.2.1中使用Jersey 1.17.1.

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

Per*_*ion 26

较旧的杰克逊图书馆作为jersey-json神器的附属物而被拉入.什么时候

<dependency>
    <groupId>com.sun.jersey</groupId>
    <artifactId>jersey-json</artifactId>
    <version>1.17</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

包含在您的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>
Run Code Online (Sandbox Code Playgroud)

请注意,删除了jersey-json后,您不再拥有Stax2,Jettison或JAXB提供程序.如果您需要那些,那么您将不得不手动找到并添加依赖项.

  • 从Jackson 2.2开始,代码位置为https://github.com/FasterXML/jackson-jaxrs-providers/blob/master/json/pom.xml. (3认同)