使用AWS SES Mail发送示例时,我面临以下错误?
"Exception in thread "main" java.lang.NoSuchMethodError: com.amazonaws.client.AwsSyncClientParams.getAdvancedConfig()Lcom/amazonaws/client/builder/AdvancedConfig;
at com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceClient.<init>(AmazonSimpleEmailServiceClient.java:277)
at com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceClient.<init>(AmazonSimpleEmailServiceClient.java:261)
at com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceClientBuilder.build(AmazonSimpleEmailServiceClientBuilder.java:61)
at com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceClientBuilder.build(AmazonSimpleEmailServiceClientBuilder.java:27)
at com.amazonaws.client.builder.AwsSyncClientBuilder.build(AwsSyncClientBuilder.java:46)
at saurabh.aws.learning.awsLearning.SendMailService.main(SendMailService.java:50)
"
问题:
我也面临同样的问题。原因是我在我的aws库中使用了不同的artefact版本:aws-java-sdk-core和aws-java-sdk-s3。
解决方案(Maven):
如果您使用的是Maven,亚马逊建议使用BOM依赖管理。这样,您可以确保指定的模块使用相同版本的SDK,并且它们彼此兼容。
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-bom</artifactId>
<version>1.11.522</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
由于您已在BOM中声明了SDK版本,因此无需为每个组件指定版本号。像这样:
<dependencies>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-s3</artifactId>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-sqs</artifactId>
</dependency>
</dependencies>
我自己也经历过这个错误。它很可能是由不同版本的工件引起的,例如:aws-java-sdk-ses和aws-java-sdk-core。尝试在pom.xml中使用相同版本的上述两个版本(如果您使用的是maven)。如果这不起作用,你可以共享你的pom.xml吗?
即使我有同样的问题:
线程“main”中的异常java.lang.NoSuchMethodError:com.amazonaws.client.AwsSyncClientParams.getAdvancedConfig()Lcom / amazonaws / client / builder / AdvancedConfig;
我尝试从java中为我的DynamoDB配置自动缩放我遇到了这个问题。
解:
我们需要确保aws sdk版本与特定服务版本匹配。当我遇到异常时我用下面的依赖,
compile group: 'com.amazonaws', name: 'aws-java-sdk-applicationautoscaling', version: '1.11.500'
compile group: 'com.amazonaws', name: 'aws-java-sdk-core', version: '1.11.123'
更改为相同版本后,问题得到解决
compile group: 'com.amazonaws', name: 'aws-java-sdk-applicationautoscaling', version: '1.11.500'
compile group: 'com.amazonaws', name: 'aws-java-sdk-core', version: '1.11.500'