2013-06-01 4 views
26

Я использую Джерси 1.17.1 с Jackson 2.2.1.Джерси Джексон и кодхаус против quickxml

Кажется, что Джексон сменил пакеты от org.codehaus до com.fasterxml. Я правильно настроил свой код и использовал последний джексон. Однако, похоже, Джерси все еще тянет org.codehaus.jackson. Есть ли способ смягчить это или я должен придерживаться пакетов codehaus до тех пор, пока майка не будет обновлена, чтобы использовать пакеты fasterxml?

ответ

22

Старшие библиотеки Джексона вытягиваются как зависимости артефакта 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. Если вам это нужно, вам придется искать и добавлять зависимости для них вручную.

+3

Начиная с версии Jackson 2.2, код https://github.com/FasterXML/jackson-jaxrs-providers/blob/master/json/pom.xml. – koppor