gpt4 book ai didi

java - Maven项目 "AmazonS3ClientBuilder() has private access in com.amazonaws.services.s3.AmazonS3ClientBuilder"

转载 作者:行者123 更新时间:2023-11-30 05:17:47 25 4
gpt4 key购买 nike

我有一个文件,很早就得到了标题中提到的错误:

import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3Client;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.Bucket;
import com.amazonaws.services.s3.model.ObjectMetadata;
import com.amazonaws.services.s3.model.PutObjectRequest;
import com.amazonaws.services.s3.model.PutObjectResult;
import java.io.File;

public static void main(String[] args) throws Exception {
createAndPopulateSimpleBucket();
}

public static void createAndPopulateSimpleBucket() throws Exception {
AmazonS3 s3client = new AmazonS3ClientBuilder().standard().build();
}

当我调用 new AmazonS3ClientBuilder() 时,我收到标题中的错误。

我是 Maven 新手,我认为我的 pom 设置正确。这是:

<?xml version="1.0" encoding="UTF-8"?>
<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>groupId</groupId>
<artifactId>AWSJavaHelloWorld</artifactId>
<version>1.0-SNAPSHOT</version>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-bom</artifactId>
<version>1.11.715</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

<dependencies>

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

</dependencies>
</project>

我猜我的 pom 有问题,但我不知道是什么问题。当我包含 AWS SDK 中的所有内容(而不是仅真正包含 S3 依赖项)时,我遇到相同的错误。

那么,有人能发现问题所在吗?

最佳答案

documentation AmazonS3ClientBuilder 声明此类不公开 public 无参数构造函数。这意味着您无法从您的类中调用 new AmazonS3ClientBuilder()

幸运的是,这个类提供了两个静态工厂方法;其中一种方法,AmazonS3ClientBuilder#defaultClient ,创建一个 AmazonS3 实例(客户端),以及另一个方法 AmazonS3ClientBuilder#standard ,创建构建器的实例。

了解这一点后,您可以将代码替换为以下代码片段之一:

public static void createAndPopulateSimpleBucket() throws Exception {
AmazonS3 s3client = AmazonS3ClientBuilder.defaultClient();
}

或者:

public static void createAndPopulateSimpleBucket() throws Exception {
AmazonS3 s3client = AmazonS3ClientBuilder.standard().build();
}

关于java - Maven项目 "AmazonS3ClientBuilder() has private access in com.amazonaws.services.s3.AmazonS3ClientBuilder",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60102950/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com