Неверно вставлять тело сообщения в одиночный файл в публичный org.codehaus.jackson.jaxrs.JacksonJsonProvider

Проблема

Использование Jackson в качестве JSON-провайдера в RESTEasy .

    <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-jaxrs</artifactId>
        <version>2.2.1.GA</version>
    </dependency>

    <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-jackson-provider</artifactId>
        <version>2.2.1.GA</version>
    </dependency>

С RESTEasy автоматическое сканирование включено.

    <context-param>
        <param-name>resteasy.scan</param-name>
        <param-value>true</param-value>
    </context-param>

При запуске он обнаруживает следующие ошибки и не может запустить ни одну из служб RESTEasy.

SEVERE: Exception sending context initialized event to listener instance of class
    org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap
java.lang.RuntimeException: Unable to instantiate MessageBodyReader
    at org.jboss.resteasy.spi.ResteasyDeployment.registerProvider(ResteasyDeployment.java:505)
    at org.jboss.resteasy.spi.ResteasyDeployment.registration(ResteasyDeployment.java:305)
    at org.jboss.resteasy.spi.ResteasyDeployment.start(ResteasyDeployment.java:225)
   //...
Caused by: java.lang.RuntimeException:
        Illegal to inject a message body into a singleton into public
    org.codehaus.jackson.jaxrs.JacksonJsonProvider(
    org.codehaus.jackson.map.ObjectMapper,org.codehaus.jackson.jaxrs.Annotations[])
    ... 20 more

Решение

Существует проблема интеграции RESTEasy с Джексоном, если включен режим « auto scan ». Надеюсь, это будет исправлено позже.

Чтобы исправить это, отключили функцию автоматического сканирования и зарегистрируйте службу RESTEasy вручную в web.xml .

    <!-- disabled auto scanning
    <context-param>
        <param-name>resteasy.scan</param-name>
        <param-value>true</param-value>
    </context-param>
        -->
    <context-param>
        <param-name>resteasy.resources</param-name>
        <param-value>com.mkyong.JacksonRestServiceHere</param-value>
    </context-param>

ссылка://тег/джексон/[джексон]ссылка://тег/рестайз/[рестайз]