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

查看:22
本文介绍了Wildfly 和 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.使用 provided 标记依赖项.然后你需要添加一个 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天全站免登陆