java.lang.ClassNotFoundException:com.amazonaws.ClientConfigurationFactory
我从过去6个月开始使用aws,我开发了一个应用程序,将批处理请求提交给firehose。直到今天它还可以正常工作,但当我在本地系统中重新部署时,它说java.lang.ClassNotFoundException:com.amazonaws.ClientConfigurationFactory,java,amazon-web-services,amazon-s3,amazon-kinesis-firehose,Java,Amazon Web Services,Amazon S3,Amazon Kinesis Firehose,我从过去6个月开始使用aws,我开发了一个应用程序,将批处理请求提交给firehose。直到今天它还可以正常工作,但当我在本地系统中重新部署时,它说java.lang.ClassNotFoundException:com.amazonaws.ClientConfigurationFactory。我知道这个错误的意思。但我的问题是为什么我今天得到了这个例外?我在项目中使用以下依赖项: <dependency> <groupId>com.amazona
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>
亚马逊网站
aws java sdk
//我今天使用这个版本只是为了测试
1.10.6
亚马逊网站
aws java sdk核心
1.10.37
假的
亚马逊网站
aws java sdk运动学
释放
我搜索了ClientConfigurationFactory
类,但没有找到任何地方(我的依赖项中的任何地方都是指)
我的问题是这个类在哪里,为什么我今天才出现这个错误?因为我在最初的开发中(6个月前)没有遇到这个错误。我今天没有更改任何依赖项/代码。而且我没有在我的项目中使用这个类(我怀疑awsdk
是否在内部使用过)
注意:我不能问我是否遗漏了任何依赖项?,因为它以前工作正常
如果您有任何疑问,请发表评论。谢谢。这很可能是因为您包含的AWS SDK版本不匹配。您使用的是SDK版本1.10.6、1.10.71、1.10.37和发行版的组合。你会像现在这样在混合版本时自找麻烦。将所有这些更改为同一版本,您的问题很可能会消失。但以前这些版本都可以使用。今天我在另一个项目中使用了sdk版本
1.10.72
。我认为这可能是我的maven依赖性问题/冲突,所以我清除了.m2文件夹并重试了一次,但没有成功。您意识到,使用RELEASE
作为一个版本,您可能会在每次构建时引入一个新版本。因此,以前处理这种版本不匹配的情况并不意味着它将继续工作。你需要修复你的AWS SDK版本依赖项,使之完全相同。是的,你的评论有意义。我会检查。但是这个类位于哪个依赖项中?知道吗?这就是它应该包含该类的依赖关系:aws java sdk
肯定在那里:@ManoDestra是的,这个类在那里,但我检查了我的依赖关系,我没有找到,这就是我问的原因。是的。只是一个版本问题:)我的问题是为什么我在最初的开发过程中没有面对这个问题?我使用了我在问题中提到的这些版本的依赖项。我个人认为你的问题不需要向下投票。很好。但这里的问题是依赖项的版本控制不一致。无法保证这会奏效。我想你之前只是幸运而已@马克的回答是正确的。