Wildfly 9 - 我如何排除杰克逊

Wildfly 9 - How do I exclude Jackson

我 运行 陷入 Jackson 序列化问题,地图中有空值。显然,这是 Wildfly 9 (https://issues.jboss.org/browse/WFLY-4906) 使用的 Jackson 版本中的一个已知错误。我想使用当前版本的 Jackson;但是,我无法排除 Wildfly 使用的版本。我尝试排除 jboss-deployment-structure.xml 中的模块,但排除无效。

知道如何让它工作吗?

我有类似的问题。我不得不排除整个 jax-rs 子系统

<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2">
<deployment>
    <exclude-subsystems>
        <subsystem name="jaxrs" />
    </exclude-subsystems>
    ...
</deployment>

之后我就可以使用我的 Jackson 版本了。

我自己 运行 进入了这个问题。

在我的应用程序中升级库后,我收到以下请求错误:

Exception handling request to /path: java.lang.NoSuchMethodError: com.fasterxml.jackson.core.JsonParser.hasToken(Lcom/fasterxml/jackson/core/JsonToken;)

我是这样解决的:

我显然不得不排除 wildfly-9 提供的 jackson-core-2.5.1

我列出了所有依赖于 'jackson-core' 和 /opt/wildfly/modules# grep -R 'jackson-core'

的模块

然后我在 WEB-INF 文件夹中创建了一个 jboss-deployment-structure.xml

<jboss-deployment-structure>
    <deployment>
        <exclusions>
            <module name="com.fasterxml.jackson.core.jackson-core" />
            <module name="com.fasterxml.jackson.core.jackson-databind" />
            <module name="com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider" />
            <module name="org.jboss.resteasy.resteasy-jackson2-provider" />
        </exclusions>
    </deployment>
</jboss-deployment-structure>