Java 运行时AmazonDynamoDBClientBuilder的NoClassDefFoundError
我遇到了以下异常,无法找出到底出了什么问题Java 运行时AmazonDynamoDBClientBuilder的NoClassDefFoundError,java,amazon-web-services,aws-lambda,amazon-dynamodb,aws-sdk,Java,Amazon Web Services,Aws Lambda,Amazon Dynamodb,Aws Sdk,我遇到了以下异常,无法找出到底出了什么问题 START RequestId: 6e561b8c-2fd0-11e8-8bd0-edfc4c9a75aa Version: $LATEST com/amazonaws/services/dynamodbv2/AmazonDynamoDBClientBuilder: **java.lang.NoClassDefFoundError java.lang.NoClassDefFoundError: com/amazonaws/services/dynamo
START RequestId: 6e561b8c-2fd0-11e8-8bd0-edfc4c9a75aa Version: $LATEST
com/amazonaws/services/dynamodbv2/AmazonDynamoDBClientBuilder: **java.lang.NoClassDefFoundError
java.lang.NoClassDefFoundError: com/amazonaws/services/dynamodbv2/AmazonDynamoDBClientBuilder**
at com.tarkshala.dynamodb.StudentDAOImpl.create(StudentDAOImpl.java:12)
at com.tarkshala.lambda.StudentController.handleRequest(StudentController.java:16)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
Caused by: java.lang.ClassNotFoundException: com.amazonaws.services.dynamodbv2.AmazonDynamoDBClientBuilder
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 6 more
我的pom.xml如下所示:
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk</artifactId>
<version>1.11.301</version>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-lambda-java-core</artifactId>
<version>1.2.0</version>
</dependency>
亚马逊网站
aws java sdk
1.11.301
亚马逊网站
aws lambda java内核
1.2.0
即使是我的IDE也在解决类定义问题,那么为什么它会在运行时产生问题呢?从错误消息中可以看出,您试图从Java中实现的Lambda函数中查询DynamoDb 使用基于Java的AWS Lambda函数时,函数代码必须包含所有依赖项。您不能像使用Maven的本地系统那样依赖Lambda从pom.xml解析依赖关系 最常见的方法是生成一个JAR(通常称为“胖JAR”),其中包含代码和代码所需的所有依赖项(通常是类路径中执行代码所需的所有内容) 一旦将依赖项与代码一起部署到Lambda,事情就应该开始按预期工作
请参阅:有关如何的更多信息,我也面临同样的问题。我在pom中添加了shade插件,并且正在运行mvn包,但是仍然得到相同的错误@KuldeepYadav你是怎么做到的?希望这能对你有所帮助。@KuldeepYadav我不知道我应该从你上面分享的片段中推断出什么。