java.lang.ClassNotFoundException: com.amazonaws.ClientConfigurationFactory

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 class 但没有找到任何地方(任何地方都意味着在我的依赖项中)。

My question is where is this class located and why I got this error only today? Because I did not face this error in my initial development (6 months before). I have not changed any dependencies/code today. And I am not using this class in my project (I have doubt aws-sdk may have been using inside).

注意:我不能问我是否遗漏了任何依赖项?因为它之前工作正常。

如有疑问请评论。谢谢。

这很可能是因为您包含的 AWS SDK 版本不匹配。您正在使用 SDK 版本 1.10.6、1.10.71、1.10.37 和 RELEASE 的组合。您是在自找麻烦,就像您正在做的那样混合版本。将所有这些更改为相同的版本,您的问题可能会消失。