【问题标题】:Wildfly 9 - How do I exclude JacksonWildfly 9 - 我如何排除杰克逊
【发布时间】:2016-05-05 21:07:33
【问题描述】:

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

知道如何让它工作吗?

【问题讨论】:

    标签: jackson wildfly-9


    【解决方案1】:

    我自己也遇到了这个问题。

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

    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

    我用/opt/wildfly/modules# grep -R 'jackson-core'列出了所有依赖于“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>
    

    【讨论】:

    • 谢谢。我用同样的方法解决了,忘记更新票了。
    • 你解决了我的整个人生。严重地。你解决了。谢谢!
    • 它适用于 Wildfly 10.1.0 最终版 - 它拯救了我的信仰。
    • 它与 JBoss EAP 7.1.6 一起工作 - 你拯救了我的一天。现在,如果遇到类似问题,我将始终在模块文件夹中使用 grep -R '' 。 (过去有一些……)
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多