Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 未找到类:com.amazonaws.auth.CredentialsProvider_Java_Maven_Amazon Web Services_Lambda - Fatal编程技术网

Java 未找到类:com.amazonaws.auth.CredentialsProvider

Java 未找到类:com.amazonaws.auth.CredentialsProvider,java,maven,amazon-web-services,lambda,Java,Maven,Amazon Web Services,Lambda,我试图使用Java 8合并AWS Lambda,但当我将函数上载到Lambda时,该类无法加载,我得到以下堆栈跟踪: Error loading class com.treyherman.lambda.GifLambdaHandler: com/amazonaws/auth/AWSCredentialsProvider: class java.lang.NoClassDefFoundError java.lang.NoClassDefFoundError: com/amazonaws/auth/

我试图使用Java 8合并AWS Lambda,但当我将函数上载到Lambda时,该类无法加载,我得到以下堆栈跟踪:

Error loading class com.treyherman.lambda.GifLambdaHandler: com/amazonaws/auth/AWSCredentialsProvider: class java.lang.NoClassDefFoundError
java.lang.NoClassDefFoundError: com/amazonaws/auth/AWSCredentialsProvider
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
Caused by: java.lang.ClassNotFoundException: com.amazonaws.auth.AWSCredentialsProvider
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
以下是我在pom.xml中对Maven的依赖:

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <groupId>com.myname.lambda</groupId>
      <artifactId>demo</artifactId>
      <version>4.0.0</version>
      <dependencies>
    <dependency>
      <groupId>com.amazonaws</groupId>
      <artifactId>aws-lambda-java-core</artifactId>
      <version>1.1.0</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>com.amazonaws</groupId>
      <artifactId>aws-lambda-java-events</artifactId>
      <version>1.3.0</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.amazonaws</groupId>
      <artifactId>aws-java-sdk</artifactId>
      <version>1.11.110</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
    <groupId>org.bytedeco</groupId>
    <artifactId>javacv-platform</artifactId>
    <version>1.3.2</version>
  </dependency>
  <dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-io</artifactId>
    <version>1.3.2</version>
</dependency>
  </dependencies>
</project>

4.0.0
com.myname.lambda
演示
4.0.0
亚马逊网站
aws lambda java内核
1.1.0
编译
亚马逊网站
aws lambda java事件
1.3.0
编译
朱尼特
朱尼特
4.11
测试
亚马逊网站
aws java sdk
1.11.110
编译
org.bytedeco
javacv平台
1.3.2
org.apache.commons
公地io
1.3.2
我读过一些关于AWS中单独的jar文件在我将文件放入jar时未正确编译的内容,但我不知道如何做到这一点


如果有人知道解决方案或知道如何解决,我们将不胜感激

您是否尝试过maven shade插件?有关详细信息,请参阅。是的,这不起作用。我的函数合并了s3,我注释掉了所有代码并运行了函数,但是当我取消注释以下行时:
AmazonS3 awsS3client=newamazons3client(),我得到了这个错误:这个错误:
java.lang.NoClassDefFoundError:com/amazonaws/services/s3/amazon3Client位于com.lambda.demo.LambdaFunctionHandler。
@hermt2你能从所有的
aws
依赖项中删除
编译
,然后重新构建并运行吗?@hermt2 maven shade插件是aws推荐的。如果不这样做,您的项目将丢失其所有依赖项,这正是您面临的问题。我强烈建议你弄清楚你需要做些什么才能让这一切顺利进行。例如,您可以更新问题,以包括运行
mvn包时发生的情况。您是否尝试了maven shade插件?有关详细信息,请参阅。是的,这不起作用。我的函数合并了s3,我注释掉了所有代码并运行了函数,但是当我取消注释以下行时:
AmazonS3 awsS3client=newamazons3client(),我得到了这个错误:这个错误:
java.lang.NoClassDefFoundError:com/amazonaws/services/s3/amazon3Client位于com.lambda.demo.LambdaFunctionHandler。
@hermt2你能从所有的
aws
依赖项中删除
编译
,然后重新构建并运行吗?@hermt2 maven shade插件是aws推荐的。如果不这样做,您的项目将丢失其所有依赖项,这正是您面临的问题。我强烈建议你弄清楚你需要做些什么才能让这一切顺利进行。例如,您可以更新该问题,以包括运行
mvn包时发生的情况。