com/amazonaws/services/ec2/AmazonEC2ClientBuilder:java.lang.NoClassDefFoundError

com/amazonaws/services/ec2/AmazonEC2ClientBuilder: java.lang.NoClassDefFoundError

提问人:cloud girl 提问时间:8/24/2023 更新时间:8/24/2023 访问量:41

问:

所以我想知道此错误消息的原因是什么:

com/amazonaws/services/ec2/AmazonEC2ClientBuilder:java.lang.NoClassDefFoundError java.lang.NoClassDefFoundError:com/amazonaws/services/ec2/AmazonEC2ClientBuilder 在 com.stopinstance.InstanceControlLambda。(实例控制Lambda.java:14) 在 java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 在 java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(来源不明) 在 java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(来源不明) 在 java.base/java.lang.reflect.Constructor.newInstance(来源不明) 原因:java.lang.ClassNotFoundException: com.amazonaws.services.ec2.AmazonEC2ClientBuilder。当前类路径:file:/var/task/

com/amazonaws/services/ec2/AmazonEC2ClientBuilder:java.lang.NoClassDefFoundError

我已经检查了我的依赖项,它们使用的是相同的版本,但在我看来,ec2ClientBuilder 仍然存在问题......

这是我的 lambda 代码:在此处输入图像描述

这是我的pom.xml在这里输入图像描述

这是我的template.yaml在这里输入图像描述

**我将不胜感激任何帮助!**

java amazon-web-services amazon-ec2 aws-lambda noclassdeffounderror

评论

0赞 Community 8/25/2023
请提供足够的代码,以便其他人可以更好地理解或重现问题。

答:

0赞 smac2020 8/24/2023 #1

如果要使用 Amazon EC2 和 Java,请使用推荐的版本,即 AWS SDK for Java V2,而不是 V1 版本。V1 不反映最佳做法。

要使用 EC2 和 Java EC2 API,请使用此代码构建客户端。

 Region region = Region.US_EAST_1;
  Ec2Client ec2 = Ec2Client.builder()
      .region(region)
      .build();

具有所有必需依赖项的 POM 文件可以在上面的链接中找到。

如果您不熟悉适用于 Java 的 AWS 开发工具包 V2,请参阅开发指南

您可以在此处找到许多 EC2 示例:

使用 SDK for Java 2.x 的 Amazon EC2 示例