Wildfly 9 - 如何排除杰克逊 [英] Wildfly 9 - How do I exclude Jackson
问题描述
我遇到了地图中带有空值的杰克逊序列化问题。显然,这是Wildfly 9使用的Jackson版本中的已知错误(
我知道如何让它工作吗?
我刚刚遇到了这个问题。
在我的应用程序中升级库之后,我收到了以下错误请求:
对/ path的异常处理请求:java.lang.NoSuchMethodError:com.fasterxml.jackson.core.JsonParser。 hasToken(Lcom / fasterxml / jackson / core / JsonToken;)
这就是我解决的问题它:
我显然不得不排除 jackson-core-2.5.1
那个wildfly-9提供。
我列出了依赖于'jackson-core'的所有模块 / opt / wildfly / module s#grep -R'jackson-core'
然后我创建了一个 jboss-deployment-structure.xml
在我的 WEB-INF
文件夹中:
< JBoss的部署-结构>
< 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>
I'm running into a Jackson serialization issue with null values in maps. Apparently this is a known bug in the Jackson version used by Wildfly 9 (https://issues.jboss.org/browse/WFLY-4906). I'd like to use the current version of Jackson; however, I'm having trouble excluding the version used by Wildfly. I tried excluding the module in jboss-deployment-structure.xml
but the exclusion is not working.
Any idea how I can get this to work?
I just ran into this issue myself.
After upgrading a library in my application, I received the following error on a request:
Exception handling request to /path: java.lang.NoSuchMethodError: com.fasterxml.jackson.core.JsonParser.hasToken(Lcom/fasterxml/jackson/core/JsonToken;)
Here is how I solved it:
I obviously had to exclude jackson-core-2.5.1
that wildfly-9 provides.
I listed all modules that depend on 'jackson-core' with /opt/wildfly/modules# grep -R 'jackson-core'
Then I created a jboss-deployment-structure.xml
in my WEB-INF
folder:
<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 9 - 如何排除杰克逊的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!