Спасибо Deepika за размещение этого вопроса от нашего имени.Отвечая на старый поток, но вот проблема и то, как мы ее решили.
Проблема Несмотря на то, что мы удалили все зависимости Джексона из pom.xml и настроили Spring для использования GSON, а не Джексона дляПри сериализации и десериализации контейнер пытался загрузить некоторые классы Джексона и, в результате, выбрасывал указанное выше исключение.Причина в том, что мы использовали JBoss-EAP-7 .Jboss пытается загрузить модуль Resteasy во время выполнения приложения (JAX-RS, JSR-311, является новой спецификацией JCP, предоставляющей API Java для веб-служб RESTful по протоколу HTTP). Когда мы внимательно рассмотрим его module.xml (расположение: EAP-7.1.0 \ modules \ system \ layer \ base \ com \ fastxml \ jackson \ jaxrs \ jackson-jaxrs-json-provider \ main), мы видим, что для этого требуется "com.fasterxml.jackson.core.jackson-databind"зависимость.Итак, Jboss выдает исключение, когда не удается найти этот JAR-файл в lib.
Решение 1: Если вы не используете реализацию Jboss Resteasy в своем проекте, просто исключите этот модуль из Jboss,Создайте файл jboss-deploy-structure.xml в WEB-INF (для проекта JBoss WAR это расположение такое же, как и в jboss-web.xml).
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<deployment>
<exclusions>
<module name="org.jboss.resteasy.resteasy-jackson2-provider" />
</exclusions>
</deployment>
</jboss-deployment-structure>
Решение 2: Откройте файл jackson-jaxrs-json-providerr.xml (путь указан выше).И закомментируйте запись jackson-databind ниже:
<module xmlns="urn:jboss:module:1.5" name="com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider">
<resources>
<resource-root path="jackson-jaxrs-json-provider-2.8.9.redhat-1.jar"/>
<resource-root path="jackson-jaxrs-base-2.8.9.redhat-1.jar"/>
<resource-root path="jackson-module-jaxb-annotations-2.8.9.redhat-1.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.ws.rs.api"/>
<module name="javax.xml.bind.api"/>
<module name="com.fasterxml.jackson.core.jackson-annotations"/>
<module name="com.fasterxml.jackson.core.jackson-core"/>
<!--<module name="com.fasterxml.jackson.core.jackson-databind"/>-->
</dependencies>
</module>
Оба вышеуказанных решения работают отлично (мы тестировали);они говорят контейнеру Spring не загружать модули Джексона, если Джексон не присутствует в зависимости от пути к классам.
Надеюсь, это поможет другим!