2016-07-26 291 views
1

我试图按照AWS LAMBDA Java示例:http://docs.aws.amazon.com/lambda/latest/dg/with-s3-example-deployment-pkg.html#with-s3-example-deployment-pkg-javaAWS LAMBDA的Java,S3配置

创建新类LambdaFunctionHandler在S3图像修改拉姆达密码登陆。添加aws-lambda-java-core 1.0.0,aws-lambda-java-events 1.0.0,maven-shade-plugin 2.4.3和aws-java-sdk-core 1.11.0到maven依赖关系。创建jar,并在上传和测试lambda后出现错误。出现

以下错误:

START RequestId: 9b800497-52c2-11e6-a2c2-416f188f3ed0 Version: $LATEST 
Error loading class LambdaFunctionHandler: com/amazonaws/services/s3/AmazonS3: class java.lang.NoClassDefFoundError 
java.lang.NoClassDefFoundError: com/amazonaws/services/s3/AmazonS3 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:348) 
Caused by: java.lang.ClassNotFoundException: com.amazonaws.services.s3.AmazonS3 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    ... 2 more 

我以前那些版本号,因为其他的答案似乎引用这些特定版本。

为了确保我不仅仅错误地使用了maven,我使用AWS的Eclipse插件创建了AWS Lambda项目,但仍导致相同的错误。

回答

0

您需要添加代S3依赖

<dependency> 
    <groupId>com.amazonaws</groupId> 
    <artifactId>aws-java-sdk-s3</artifactId> 
    <version>1.11.0</version> 
</dependency> 

或者你可以只是把

<dependency> 
    <groupId>com.amazonaws</groupId> 
    <artifactId>aws-java-sdk-s3</artifactId> 
    <version>1.11.0</version> 
</dependency> 

这其中有对所有服务库。