Wildfly 和 Jackson:LinkageError [英] Wildfly and Jackson: LinkageError
问题描述
我正在尝试配置 jboss wildfly 8 以将 Jackson 用于 JSON.所以我加了
I'm trying to configure jboss wildfly 8 to use Jackson for JSON. So I added
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson-provider</artifactId>
<version>3.0.6.Final</version>
<type>jar</type>
</dependency>
我的耳朵项目.但是在部署时出现以下错误:
to my ear project. But on deploying I get following error:
Caused by: java.lang.LinkageError: loader 约束冲突:when解决被覆盖的方法"org.jboss.resteasy.plugins.providers.jackson.ResteasyJacksonProvider$Proxy$_$$WeldClientProxy.disable(Lorg/codehaus/jackson/map/DeserializationConfig$Feature;Z)Lorg/codehaus/jackson/jaxrs/JacksonJsonProvider;"类加载器(org/jboss/modules/ModuleClassLoader 的实例)当前班级,org/jboss/resteasy/plugins/providers/jackson/ResteasyJacksonPrvider$Proxy$$$WeldClientProxy,及其超类加载器(实例org/jboss/modules/ModuleClassLoader),有不同的类对象对于类型sy.plugins.providers.jackson.ResteasyJacksonProvider$Proxy$$$_WeldClientProxy.disable(Lorg/codehaus/jackson/map/DeserializationConfig$Feature;Z)Lorg/codehaus/jackson/jaxrs/JacksonJsonProvider;在签名中使用
Caused by: java.lang.LinkageError: loader constraint violation: when resolving overridden method "org.jboss.resteasy.plugins.providers.jackson.ResteasyJacksonProvider$Proxy$_$$WeldClientProxy.disable(Lorg/codehaus/jackson/map/Des erializationConfig$Feature;Z)Lorg/codehaus/jackson/jaxrs/JacksonJsonProvider;" the class loader (instance of org/jboss/modules/ModuleClassLoader) of the current class, org/jboss/resteasy/plugins/providers/jackson/ResteasyJacksonPr ovider$Proxy$$$WeldClientProxy, and its superclass loader (instance of org/jboss/modules/ModuleClassLoader), have different Class objects for the type sy.plugins.providers.jackson.ResteasyJacksonProvider$Proxy$$$_WeldClientProx y.disable(Lorg/codehaus/jackson/map/DeserializationConfig$Feature;Z)Lorg/codehaus/jackson/jaxrs/JacksonJsonProvider; used in the signature
3.0.6 版本与 Wildfly 不兼容吗?我怎么知道哪个版本有效?我也试过 2.3.7 和 1.1 但总是同样的错误.
Is version 3.0.6 not compatible with Wildfly? how do I know which version works? I also tried with 2.3.7 and 1.1 but always the same error.
我有一个带有 pojos 的 ejb 模块.这里我有依赖项:
I have a ejb module with pojos. Here I have the dependency:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.2.3</version>
<scope>provided</scope>
<type>jar</type>
</dependency>
所以对我来说这看起来很像杰克逊 2.
so that looks very much like jackson 2 to me.
在我看来,我有以下依赖:
and in my ear, I have following dependency:
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson-provider</artifactId>
<version>3.0.6.Final</version>
<type>jar</type>
<scope>provided</scope>
</dependency>
我现在需要resteasy-jackson2-provider吗?我现在需要 jboss-deployment-structure.xml 吗?
do I need resteasy-jackson2-provider now? Do I need the jboss-deployment-structure.xml now?
推荐答案
WildFly 8 已经包含 Jackson.使用
标记依赖项.然后你需要添加一个 jboss-deployment-structure.xml
使用以下 文档进行部署.
WildFly 8 already includes Jackson. Mark the dependency with <scope>provided</scope>
. You then need to add a jboss-deployment-structure.xml
to your deployment with the following per the documentation.
<jboss-deployment-structure>
<deployment>
<exclusions>
<module name="org.jboss.resteasy.resteasy-jackson-provider"/>
</exclusions>
<dependencies>
<module name="org.jboss.resteasy.resteasy-jackson2-provider" services="import"/>
</dependencies>
</deployment>
</jboss-deployment-structure>
这篇关于Wildfly 和 Jackson:LinkageError的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!