繁体   English   中英

使用 AWS SDK for Java v2 创建 Amazon S3 存储桶:线程“main”java.lang.NoClassDefFoundError 中的异常

[英]Creating an Amazon S3 bucket Using the AWS SDK for Java v2 : Exception in thread "main" java.lang.NoClassDefFoundError

尝试使用 java api 创建 s3 存储桶时出现以下错误:

错误:线程“主”java.lang.NoClassDefFoundError 中的异常:software.amazon.awssdk.protocols.xml.internal.unmarshall.AwsXmlErrorTransformer.(AwsXmlErrorTransformer.java :40) 在 software.amazon.awssdk.protocols.xml.internal.unmarshall.AwsXmlErrorTransformer.(AwsXmlErrorTransformer.java:34) 在 software.amazon.awssdk.protocols.xml.internal.unmarshall.AwsXmlErrorTransformer$Builder.build(AwsXmlErrorTransformer. java:113) 在 software.amazon.awssdk.protocols.xml.AwsS3ProtocolFactory.createErrorCouldBeInBodyResponseHandler(AwsS3ProtocolFactory.java:80) 在 software.amazon.awssdk.protocols.xml.AwsXmlProtocolFactory.createErrorTransformer(AwsXmlProtocolFactory.java:135) .awssdk.services.s3.DefaultS3Client.createBucket(DefaultS3Client.java:1144) at com.act.niti.main(niti.java:33) 原因:java.lang.ClassNotFoundException: software.amazon.awssdk.protocols.query .internal.unmarshall.AwsXmlE rrorUnmarshaller at java.net.URLClassLoader.findClass(URLClassLoader.java:382) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) at java .lang.ClassLoader.loadClass(ClassLoader.java:351) ... 还有 8 个

  Code : 
    
    try {
     Region region = Region.US_EAST_2; 
     S3Client s3 = S3Client.builder()
        .region(region)
        .build();
         S3Waiter s3Waiter = s3.waiter();
         CreateBucketRequest bucketRequest = CreateBucketRequest.builder()
                .bucket("abc")
                .build();
         
        
         s3.createBucket(bucketRequest); //creating s3 bucket
          System.out.println("bucket........abc");
          HeadBucketRequest bucketRequestWait = HeadBucketRequest.builder()
          .bucket("abc")
          .build();
          
          // Wait until the bucket is created and print out the response
          WaiterResponse<HeadBucketResponse> waiterResponse =
          s3Waiter.waitUntilBucketExists(bucketRequestWait);
          waiterResponse.matched().response().ifPresent(System.out::println);
          System.out.println("abc" +" is ready");
         

    } catch (S3Exception e) {
        System.err.println(e.awsErrorDetails().errorMessage());
        System.exit(1);
    }
                Note : Using java 8

刚刚测试了这个适用于 Java V2 的 AWS 开发工具包示例,它运行良好——如屏幕截图所示,逐行显示调试。

![在此处输入图像描述

您的错误看起来像是缺少课程。 您是否使用了此处 POM 文件中显示的 POM 依赖项?

https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2/example_code/s3

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM