AWS SQS:java.lang.NoClassDefFoundError:com/fasterxml/jackson/annotation/JsonMerge? [英] AWS SQS: java.lang.NoClassDefFoundError: com/fasterxml/jackson/annotation/JsonMerge?

查看:458
本文介绍了AWS SQS:java.lang.NoClassDefFoundError:com/fasterxml/jackson/annotation/JsonMerge?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试通过Java代码向SQS发送消息,如下所示:

I am trying to a message to SQS in my Java code as follows:

public void pushToSQS(){

    String queueURL = "https://sqs.us-east-1.amazonaws.com/205135634997/myQueue.fifo";
    
    try {

        final AmazonSQS sqs = AmazonSQSClientBuilder.defaultClient();

        sqs.sendMessage(new SendMessageRequest(queueURL,
                "test message"));

    } catch (final AmazonServiceException e) {
        log.error("Error: " + e.getMessage());
    }
}

但是在第final AmazonSQS sqs = AmazonSQSClientBuilder.defaultClient();

我得到了错误:

java.lang.NoClassDefFoundError: com/fasterxml/jackson/annotation/JsonMerge
Caused by: java.lang.ClassNotFoundException: com.fasterxml.jackson.annotation.JsonMerge

我在pom.xml中添加了以下内容:

I have added the following to my pom.xml:

<dependency>
            <groupId>com.amazonaws</groupId>
            <artifactId>aws-java-sdk-models</artifactId>
            <version>1.11.86</version>
        </dependency>

下面是项目中的所有jackson依赖项:

Below are all the jackson dependencies in the project:

mvn依赖关系树中,我可以看到:

In mvn dependency tree I can see:

+- org.jboss.resteasy:resteasy-multipart-provider:jar:3.0.19.Final:provided
[INFO] |  +- org.jboss.resteasy:resteasy-client:jar:3.0.19.Final:provided
[INFO] |  +- org.jboss.resteasy:resteasy-jaxb-provider:jar:2.3.5.Final:provided
[INFO] |  |  \- com.sun.xml.bind:jaxb-impl:jar:2.2.5.jboss-1:provided
[INFO] |  |     +- com.sun.istack:istack-commons-runtime:jar:2.6.1:provided
[INFO] |  |     \- com.sun.xml.txw2:txw2:jar:20110809:provided
[INFO] |  +- com.sun.mail:javax.mail:jar:1.5.5:provided
[INFO] |  \- org.apache.james:apache-mime4j:jar:0.6:provided
[INFO] \- org.jboss.resteasy:resteasy-jackson2-provider:jar:3.0.19.Final:provided
[INFO]    +- com.fasterxml.jackson.core:jackson-core:jar:2.6.3:provided
[INFO]    +- com.fasterxml.jackson.core:jackson-databind:jar:2.6.3:provided
[INFO]    +- com.fasterxml.jackson.core:jackson-annotations:jar:2.6.3:provided
[INFO]    \- com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:jar:2.6.3:provided
[INFO]       +- com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:jar:2.6.3:provided
[INFO]       \- com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.6.3:provided


[INFO] +- com.fasterxml.jackson.core:jackson-databind:jar:2.9.6:compile

是什么原因导致此错误?

What is causing this error?

推荐答案

好像您有两次杰克逊.考虑一下:

Looks like you have jackson twice. Consider this:

+- org.jboss.resteasy:resteasy-multipart-provider:jar:3.0.19.Final:provided
[INFO] \- org.jboss.resteasy:resteasy-jackson2-provider:jar:3.0.19.Final:provided
[INFO]    +- com.fasterxml.jackson.core:jackson-core:jar:2.6.3:provided
[INFO]    +- com.fasterxml.jackson.core:jackson-databind:jar:2.6.3:provided
[INFO]    +- com.fasterxml.jackson.core:jackson-annotations:jar:2.6.3:provided
[INFO]    \- com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:jar:2.6.3:provided
[INFO]       +- com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:jar:2.6.3:provided
[INFO]       \- com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.6.3:provided

和这个:

[INFO] +- com.fasterxml.jackson.core:jackson-databind:jar:2.9.6:compile

请将顶级依赖项放到com.fasterxml.jackson.core:jackson-databind:jar:2.9.6上,看看它是否有效.

Please drop the top level dependency to com.fasterxml.jackson.core:jackson-databind:jar:2.9.6 and see if it works.

这篇关于AWS SQS:java.lang.NoClassDefFoundError:com/fasterxml/jackson/annotation/JsonMerge?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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