The sample programcom.amazonaws.internal.config.InternalConfig.load IllegalArgumentException가 =
package bluemixtest;
import com.amazonaws.ClientConfiguration;
import com.amazonaws.SDKGlobalConfiguration;
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.AWSStaticCredentialsProvider;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.client.builder.AwsClientBuilder.EndpointConfiguration;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.Bucket;
import com.amazonaws.services.s3.model.ListObjectsRequest;
import com.amazonaws.services.s3.model.ObjectListing;
import com.amazonaws.services.s3.model.S3ObjectSummary;
import com.ibm.oauth.BasicIBMOAuthCredentials;
import java.util.List;
public class BlueMixTest {
private static AmazonS3 _s3Client;
public static void main(String[] args) {
SDKGlobalConfiguration.IAM_ENDPOINT = "https://iam.bluemix.net/oidc/token";
String bucketName = "********";
String api_key = "********";
String service_instance_id = "********";
String endpoint_url = "https://s3-api.us-geo.objectstorage.softlayer.net";
String location = "us";
_s3Client = createClient(api_key, service_instance_id, endpoint_url, location);
listObjects(bucketName, _s3Client);
listBuckets(_s3Client);
}
public static AmazonS3 createClient(String api_key, String service_instance_id, String endpoint_url, String location) {
AWSCredentials credentials;
if (endpoint_url.contains("objectstorage.softlayer.net")) {
credentials = new BasicIBMOAuthCredentials(api_key, service_instance_id);
} else {
String access_key = api_key;
String secret_key = service_instance_id;
credentials = new BasicAWSCredentials(access_key, secret_key);
}
ClientConfiguration clientConfig = new ClientConfiguration().withRequestTimeout(5000);
clientConfig.setUseTcpKeepAlive(true);
AmazonS3 s3Client = AmazonS3ClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(credentials))
.withEndpointConfiguration(new EndpointConfiguration(endpoint_url, location)).withPathStyleAccessEnabled(true)
.withClientConfiguration(clientConfig).build();
return s3Client;
}
public static void listObjects(String bucketName, AmazonS3 s3Client) {
System.out.println("Listing objects in bucket " + bucketName);
ObjectListing objectListing = s3Client.listObjects(new ListObjectsRequest().withBucketName(bucketName));
for (S3ObjectSummary objectSummary : objectListing.getObjectSummaries()) {
System.out.println(" - " + objectSummary.getKey() + " " + "(size = " + objectSummary.getSize() + ")");
}
System.out.println();
}
public static void listBuckets(AmazonS3 s3Client) {
System.out.println("Listing buckets");
final List<Bucket> bucketList = _s3Client.listBuckets();
for (final Bucket bucket : bucketList) {
System.out.println(bucket.getName());
}
System.out.println();
}
}
ClientConfiguration clientConfig = new ClientConfiguration()
는 IllegalArgumentException
스택 트레이스 : com.amazonaws에서
는java.lang.IllegalArgumentException가 .internal.config.InternalConfig.loadfrom (InternalConfig.java:235) at com.amazonaws.internal.conf com.amazonaws.util.VersionInfoUtils.userAgent에서 ig.InternalConfig.load com.amazonaws.internal.config.InternalConfig $ 공장에서 (InternalConfig.java:249) . (InternalConfig.java:304) (VersionInfoUtils.java : com.amazonaws.ClientConfiguration에서 com.amazonaws.util.VersionInfoUtils.getUserAgent (VersionInfoUtils.java:100) 에서 com.amazonaws.util.VersionInfoUtils.initializeUserAgent (VersionInfoUtils.java:137) 142) . (ClientConfiguration.java:65) 스레드 "main"의 예외 java.lang.ExceptionInInitializerError at com.amazonaws.util.VersionInfoUtils.userAgent (VersionInfoUtils.java:142) com.amazonaws.ClientConfiguration에서 com.amazonaws.util.VersionInfoUtils.getUserAgent (VersionInfoUtils.java:100) 에서 com.amazonaws.util.VersionInfoUtils.initializeUserAgent (VersionInfoUtils.java:137)에서 . (ClientConfiguration.java : com.amazonaws.internal.config에서 java.lang.IllegalArgumentException가 : bluemixtest.BlueMixTest.main (BlueMixTest.java:44)에서 bluemixtest.BlueMixTest.createClient (BlueMixTest.java:58) 65)에 의한이 . InternalConfig.loadfrom (InternalConfig.java:235) at com.amazonaws.internal.config.InternalConfig.load (InternalConfig.java:249) at com.amazonaws.internal. config.InternalConfig $ 공장. (InternalConfig.java:304)
IBM-COS-자바 SDK 코어-1.1.0 및 IBM-COS-자바 SDK-s3-1.1.0
이 문제를 해결하고 싶습니다. 필드의 자원 : ibm-cos-java-sdk
ibm-cos-java-sdk를 사용하여 IBM Cloud Object Storage에 액세스하려고합니다.
에 다음 종속성을 넣어주세요 - - 우리가 알아낼 것이라고 가정하기보다는. 그렇지 않으면 아마도 기대했던 것보다 유용한 답이 줄어들 것입니다. – azarc3
감사합니다. ibm-cos-java-sdk를 사용하여 IBM Cloud Object Storage에 액세스하고 싶습니다. – oku
maven 프로젝트가 생성되지 않았습니다. – oku