2016-07-26 361 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> 

這其中有對所有服務庫。