gpt4 book ai didi

java - 使用 AWS Java SDK 和 Hadoop 将项目放入 DynamoDB 时出错

转载 作者:可可西里 更新时间:2023-11-01 14:57:35 26 4
gpt4 key购买 nike

我使用的是 hadoop 2.7、hadoop-core 版本 1.1.2 和 AWS Java SDK 1.10.50。

当我尝试将项目放入 dynamoDB 时,出现以下错误:

java.lang.NoSuchFieldError: INSTANCE
at com.amazonaws.http.conn.SdkConnectionKeepAliveStrategy.getKeepAliveDuration(SdkConnectionKeepAliveStrategy.java:48)

我发现这个错误是由于AWS SDK和HttpCore版本冲突导致的。

在我的代码中运行:

ClassLoader classLoader = MyClass.class.getClassLoader();
URL resource = classLoader.getResource("org/apache/http/message/BasicLineFormatter.class";
System.out.println(resource);

输出是:

jar:file:/usr/local/Cellar/hadoop/2.7.0/libexec/share/hadoop/common/lib/httpcore-4.2.5.jar!/org/apache/http/message/BasicLineFormatter.class

表明它仍在使用有冲突的版本。

但是在我的 pom.xml 中,我添加了:

<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.4.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.4.1</version>
<scope>compile</scope>
</dependency>

试图强制使用与 SDK 兼容的版本,但我的代码仍然使用冲突版本。

任何人都知道如何强制我的应用程序使用 HttpCore 和 HttpClient 的非冲突版本?

最佳答案

您可以添加对您需要的 httpclient 版本的依赖和 exclude the httpclient transient dependency来自引入版本 4.2.5 的依赖项。使用 mvn dependency:tree 确定添加排除项的位置。

关于java - 使用 AWS Java SDK 和 Hadoop 将项目放入 DynamoDB 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35165445/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com