java.lang.ClassNotFoundException: com.amazonaws.ClientConfigurationFactory

自过去6个月以来,我一直在使用aws,并且我开发了将批处理请求放入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

注意:我不能问我是否错过了任何依赖关系?因为它以前工作正常。

如果您有任何疑问,请发表评论。谢谢。


答案 1

这很可能是因为您包含的 AWS 开发工具包版本不匹配。您使用的是 SDK 版本 1.10.6、1.10.71、1.10.37 和发行版的组合。您正在像您一样混合版本,这带来了麻烦。将所有这些更改为相同的版本,您的问题可能会消失。


答案 2

推荐