Wildfly和Jackson:LinkageError [英] Wildfly and Jackson: LinkageError

查看:132
本文介绍了Wildfly和Jackson:LinkageError的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试配置jboss wildfly 8以使用Jackson for 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:


引起:java.lang.LinkageError:加载器约束违规:当
解析被覆盖时方法
org.jboss.resteasy.plugins.providers.jackson.ResteasyJacksonProvider $ Proxy $ _ $$ WeldClientProxy.disable(Lorg / codehaus / jackson / map / Des
erializationConfig $ Feature; Z )Lorg / Codehaus的/杰克逊/ JAXRS / JacksonJsonProvider;
类加载器(org / jboss / modules / ModuleClassLoader的实例)
当前类,
org / jboss / resteasy / plugins / providers / jackson / ResteasyJacksonPr
ovider $代理$
$$ WeldClientProxy及其超类加载器(org / jboss / modules / ModuleClassLoader的实例
)对于
sy类型具有不同的Class对象
。 plugins.providers.jackson.ResteasyJacksonProvider $ Proxy $
$$ _ WeldClientProx
y.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.

编辑:

我有一个ejb模块与pojos。在这里,我有依赖:

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。使用< scope>提供< / scope> 标记依赖关系。然后,您需要添加 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆