我使用Jersey 1.17.1和Jackson 2.2.1。泽西杰克逊和codehaus vs. fasterxml
杰克逊似乎将包裹从org.codehaus
切换到com.fasterxml
。我已经正确配置了所有代码并使用了最新的杰克逊。然而,泽西队似乎仍在拉拢org.codehaus.jackson
。有什么方法可以缓解这种情况,还是应该坚持使用codehaus
包裹,直到球衣升级为使用fasterxml
包裹为止?
我使用Jersey 1.17.1和Jackson 2.2.1。泽西杰克逊和codehaus vs. fasterxml
杰克逊似乎将包裹从org.codehaus
切换到com.fasterxml
。我已经正确配置了所有代码并使用了最新的杰克逊。然而,泽西队似乎仍在拉拢org.codehaus.jackson
。有什么方法可以缓解这种情况,还是应该坚持使用codehaus
包裹,直到球衣升级为使用fasterxml
包裹为止?
旧的杰克逊图书馆正在作为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库的包装库。一旦取消,您可以为杰克逊2.2.1库和JAX-RS提供程序添加依赖关系:
<dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-json-provider</artifactId>
<version>2.2.1</version>
</dependency>
注意,与新泽西州的JSON删除你不再有Stax2,抛弃,或JAXB提供商。如果您需要这些,那么您将不得不手动定位并添加它们的依赖关系。
从Jackson 2.2开始,代码位置是https://github.com/FasterXML/jackson-jaxrs-providers/blob/master/json/pom.xml。 – koppor