ClassNotFoundException: com.amazonaws.ClientConfigurationFactory 是指在Java代码中找不到com.amazonaws.ClientConfigurationFactory类。

17

我使用AWS已经6个月了,开发了一个可以向firehose发送批量请求的应用。一直运行正常,但今天在本地系统上重新部署后出现了java.lang.ClassNotFoundException: com.amazonaws.ClientConfigurationFactory错误。我知道这个错误的含义,但我的问题是为什么今天会出现这个异常?我在项目中使用以下依赖:

    <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-java-sdk</artifactId>
    <!--    <version>1.10.72</version> --> // I used this version today only for testing purpose
        <version>1.10.6</version>
    </dependency>
    <!-- <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-java-sdk-s3</artifactId>
        <version>1.10.71</version>
    </dependency> -->
    <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-java-sdk-core</artifactId>
        <version>1.10.37</version>
        <optional>false</optional>
    </dependency>
    <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-java-sdk-kinesis</artifactId>
        <version>RELEASE</version>
    </dependency>

我搜寻了 ClientConfigurationFactory 类但无处找到(这里的“无处”指的是我的依赖中都没有)。

我的问题是这个类在哪里,为什么今天才报错?因为在最初的开发中(6个月前),我没有遇到过这个错误。我今天没有更改任何依赖项/代码。并且我没有在我的项目中使用此类(我怀疑 aws-sdk 可能被内部使用了)。

注意:我不能问“我是否遗漏了任何依赖项?”,因为之前一切正常。

如果您有疑问,请留言。谢谢。


一定在这里:http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/ClientConfigurationFactory.html - ManoDestra
@ManoDestra 是的,这个类是存在的,但我在我的依赖中没有找到它,所以我才问。 - Yubaraj
是的,只是一个版本问题 :) - ManoDestra
2
我个人认为,你的问题并不需要被人贬低。没关系。但是你在这里遇到的问题是依赖项版本不一致。不能保证它们会正常工作。我认为以前你只是幸运,它可以工作。@MarkB 的答案是正确的。 - ManoDestra
我正在检查 @ManoDestra,等有消息再告诉你。但是我刚使用了1.10.6进行了检查,没有成功。我正在尝试使用最新版本。 - Yubaraj
显示剩余3条评论
1个回答

24

这很可能是由于您包含的AWS SDK版本不匹配。您同时使用了SDK版本1.10.6、1.10.71、1.10.37和RELEASE,这样混合使用版本是有问题的。将所有这些版本更改为相同的版本,您的问题很可能会消失。


5
使用版本号为RELEASE的AWS SDK,每次构建时都有可能会拉取新版本。因此,以前使用不同版本的SDK能够正常工作并不能保证将来也一定可以。你需要修复AWS SDK版本依赖关系,确保它们全部相同。 - Mark B
是的,你的评论很有道理。我会检查一下。 - Yubaraj
这个类位于哪个依赖项中?有任何想法吗? - Yubaraj
不,你错了 :) 这个类在 <artifactId>aws-java-sdk-core</artifactId> 中。 :P - Yubaraj
好的,它起作用了,我的结论是我很幸运,在我的问题评论中像@ManoDestra说的那样,它之前就起作用了。谢谢你,伙计。稍后会接受。 - Yubaraj
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接