Зависимость Джерси-Json: ошибка в ConversionServiceAwareObjectMapper.java

Я развертываю Джерси в Spring-MVC и пытаюсь создать выходной формат json. У меня есть эта аннотация @Produces("application/json") в MyResource.java. Сначала я получил ошибку:

СЕРЬЕЗНЫЙ: модуль записи тела сообщения для класса Java edu.ucdavis.iet.APerson, класса типа Java edu.ucdavis.iet.APerson и приложения/json типа мультимедиа MIME не найден.

Я добавил зависимость jersey-json в pom.xml:

<dependency>
    <groupId>com.sun.jersey</groupId>
    <artifactId>jersey-json</artifactId>
    <version>1.5</version>
</dependency>

Ошибка исчезла, но она отмечает другую ошибку: src/main/java/org/springframework/samples/mvc/ajax/json/ConversionServiceAwareObjectMapper.java. Ошибки:

Тип org.codeHaus.jackson. Версия не может быть разрешена. На него косвенно ссылаются из требуемого файла .class

Иерархия типа ConversionServiceAwareObjectMapper.java. непоследовательно.

Я просмотрел множество документов и попытался изменить файлы конфигурации, но ни один из них не работает. Любое предложение?

Спасибо


person tigerpuzzle    schedule 15.03.2011    source источник


Ответы (3)


Проверьте, аннотировали ли вы edu.ucdavis.iet.APerson с помощью JAXBXmlElement или JAXBXmlRootElement. Если да, вы можете попробовать использовать «text/xml» вместо «application/json», чтобы увидеть, работает ли он.

person Fourj    schedule 15.03.2011
comment
Это не работает для использования «текст/xml», но работает для «текст/обычный». У вас есть образцы для JAXBXmlElement или JAXBXmlRootElement? Спасибо. - person tigerpuzzle; 15.03.2011
comment
тип text/plain не зависит от сериализации jaxb. Это пример аннотации jaxb: tinyurl.com/4shjd3o . На wikis.sun.com/display/Jersey/Main есть другие документы по майкам. - person Fourj; 16.03.2011

Вам нужно добавить Jackon Json Mapper в свои зависимости. ConversionServiceAwareObjectMapper, вероятно, расширяет ObjectMapper, который является классом в банке Джексона.

person Robby Pond    schedule 15.03.2011
comment
Не могли бы вы дать мне образцы или ссылки на коды? Спасибо. - person tigerpuzzle; 15.03.2011

Я узнал решение. Я добавил следующее содержимое в pom.xlm. JSON отлично работает с использованием CURL в командной строке.

<!-- Jackson JSON Mapper -->
 <dependency>
     <groupId>org.codehaus.jackson</groupId>
     <artifactId>jackson-core-lgpl</artifactId>
     <version>1.6.4</version>
 </dependency>
 <dependency>
     <groupId>org.codehaus.jackson</groupId>
     <artifactId>jackson-mapper-lgpl</artifactId>
     <version>1.6.4</version>
 </dependency>
 <dependency>
     <groupId>org.codehaus.jackson</groupId>
     <artifactId>jackson-xc</artifactId>
     <version>1.6.4</version>
 </dependency>
person tigerpuzzle    schedule 15.03.2011