2014-10-14 3 views
1

Я развиваю спокойное обслуживание с tomcat 7 и jdk 1.6. Для обработки json я использую jackson 2.4.2, и он отлично работает, за исключением случаев, когда я пытаюсь и десериализую объект (что у него нет проблем с сериализацией).jackson 2.4 ищет старый класс при десериализации

ошибка:

java.lang.ClassNotFoundException: org.codehaus.jackson.JsonFactory 

, который является местом, где джексон 1.x сохранил этот конкретный класс. my jackson 2.4.2 имеет значение

com.fasterxml.jackson.core.JsonFactory 

Я понятия не имею, почему он пытается связать старый класс. Я никогда не использовал jackson 1.x.

что я использую:

asm-3.3.1 
commons-io-2.4 
jackson-core-2.4.2 
jackson-databind-2.4.2 
jersey-bundle-1.18 
mysql-connector-java-5.1.27 

и

com.fasterxml.jackson.annotation 

, который я взял из GitHub. какая библиотека может пытаться импортировать старый модуль Jackson? Любая помощь приветствуется.

ответ

1

Проблема, конечно, исходит от попытки использовать Jackson 1.x ObjectMapper и отсутствует базовый JsonFactory для 1.x. Поскольку они исходят из разностных банок (jackson-mapper-asl vs jackson-core-asl), вполне вероятно, что чего-то не хватает.

Теперь, поскольку вы не используете непосредственно Jackson 1.x, вопрос в том, кто: возможно, майка полагается на 1.x?

Итак, есть два смежных вопроса: (а) если нужен Джексон 1.x, чтобы взять в ящик ядра, или (б) как вообще удалить Джексон 1.x.

Обратите внимание, что технически вполне возможно использовать версии 1.x и 2.x от Jackson, поскольку 2.x был специально разработан, чтобы быть в состоянии сосуществовать. Это упростит обновление и позволит постепенно (поэтапно) обновлять.

+0

Из моего понимания проблема, похоже, лежит в json-провайдере jackson. журналист сообщения, похоже, работает, в то время как средство чтения сообщений, как представляется, несет старый импорт. я исключил другие банки как источник проблемы, поскольку я использовал их все заранее, пока все еще использую xml –

+0

Это странно, так как на самом деле не должно быть зависимостей от 2.x до 1.x. Если вы выясните, где идет импорт, я с удовольствием помогу удалить его. – StaxMan

+0

на данный момент я добавил json Jack-mini-1.9 в свой проект и теперь могу работать с ним. если я узнаю, я дам вам знать. спасибо, что нашли время, чтобы посмотреть на мой вопрос –