当前位置: 首页 > 知识库问答 >
问题:

野蝇和杰克逊:LinkageError

孔永年
2023-03-14

我正在尝试将jboss wildfly 8配置为将Jackson用于JSON。所以我补充说

<dependency>
    <groupId>org.jboss.resteasy</groupId>
    <artifactId>resteasy-jackson-provider</artifactId>
    <version>3.0.6.Final</version>
    <type>jar</type>
</dependency>

我的耳朵工程。但在部署时,我会遇到以下错误:

原因:java。lang.LinkageError:加载程序约束冲突:解析重写的方法“org.jboss.resteasy.plugins.providers.jackson.ResteasyJacksonProvider$Proxy$\u$$WeldClientProxy.disable(Lorg/codehaus/jackson/map/Des-erializationConfig$Feature;Z)Lorg/codehaus/jackson/jaxrs/JacksonJsonProvider;”当前类的类加载器(org/jboss/modules/ModuleClassLoader的实例)org/jboss/resteasy/plugins/providers/jackson/ResteasyJacksonPr ovider$Proxy$$$$WeldClientProxy及其超类加载器(org/jboss/modules/ModuleClassLoader的实例)对于类型sy具有不同的类对象。插件。提供者。杰克逊。ResteasyJacksonProvider$Proxy$$$\u WeldClientProx y.disable(Lorg/codehaus/jackson/map/DeserializationConfig$Feature;Z)Lorg/codehaus/jackson/jaxrs/JacksonJsonProvider;在签名中使用

版本3.0.6是否与Wildfly不兼容?我如何知道哪个版本有效?我也尝试了2.3.7和1.1,但总是出现相同的错误。

编辑:

我有一个带有POJO的ejb模块。这里我有一个依赖项:

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>2.2.3</version>
        <scope>provided</scope>
        <type>jar</type>
    </dependency>

所以在我看来很像杰克逊2。

在我的耳朵里,我有以下依赖:

<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部署结构吗。现在是xml吗?

共有2个答案

贺高杰
2023-03-14

当我导入

<jboss-deployment-structure>
      <sub-deployment name="erp-integrator.jar">
        <exclusions>
           <module name="org.jboss.resteasy.resteasy-jackson-provider"/>
        </exclusions>
        <dependencies>
            <module name="org.jboss.resteasy.resteasy-jackson2-provider" services="import" />
            <module name="com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider" />
        </dependencies>
    </sub-deployment>
</jboss-deployment-structure> 

徐杰
2023-03-14

WildFly 8已经包括杰克逊。用标记依赖项

<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> 

 类似资料:
  • 我环顾四周,不认为这是其中任何一个的复制品: 在《野蝇》中使用杰克逊注释 杰克逊注释被忽略 野蝇和杰克逊@JsonIgnore注释 使用野蝇10并部署具有以下类的战争: 如果构造函数未被注释,我会在部署时看到该构造函数中引发的异常,但在向 REST 服务发出请求时,我看不到 方法中的异常。 我在实体上有一个注释,它不起作用,我使用的注释也不起作用 该类如下所示(包括导入,以验证我使用的是 com.

  • 我如何告诉Jackson忽略JSON名称? 我有以下POJO: 当我有这样的东西: “ABCName”:“foo”,然后杰克逊没有认出它抛出错误。 它期望的是: “abcName”:“foo”。 代码: 输出:{"abcname":"Foo"} 然后我试着用@JsonProperty(“ABCName”)注释ABCName 在我注释并运行代码之后,我得到的是:{“ABCName”:“Foo”,“A

  • 首先,我不熟悉Jython。我正在寻找一种将python代码集成到Java项目中的方法。因此我正在调查Jython。 我正在尝试将一个 json 字符串转换为 Java 对象 - 在 python 中。 首先,我一直在努力让Jython找到我的java类。由于缺乏更优雅的解决方案,我可以通过简单地执行以下操作来向前迈进: 无论如何。。。 我正在尝试以下操作: 但是,在运行时,我收到以下错误: 我不

  • 我想使用Spring的RestTemplate plus Jackson来使用Web服务。我已经学习了几本教程,并且已经达到了创建DAO的目的。这是我获取所有域对象的方法: 但我的Web服务不会立即返回Station对象数组,而是以这种方式返回一个更具语义的表达式: 所以我的问题是,我不知道如何“告诉”RestTemplate在“stations”指示符之后立即解析对象列表,而不创建临时对象,这似

  • 问题内容: 在Jersey上使用Jackson 处理器时,何时以及为何需要在两者之间使用注释? 杰克逊(Jackson)还提供了自己的服务提供商以直接使用。这种方法缺少什么?还是为什么我比其他人更喜欢 ps:我也用弹簧 问题答案: 为了生成JSON,通常只需指定即可。但是,这将默认采用JAXB路由。 使用Object-> JAXB-> JSON,您必须注释要映射的类。这可以很好地工作,但是一旦您要

  • 问题内容: 我的User对象的Jackson序列化遇到问题。有一些带有getter和setter的私有字段。当我做这样的事情时,一切工作正常: 但是我想用Spring Framework自动连接User对象: 这是行不通的。我有一个错误: 当我尝试忽略这些未知错误时 我得到了无限递归: 看起来Spring在自动装配MyUser实例上做错了什么,因此Jackson无法序列化它。 有办法解决吗? 更新