I'm trying to learn the AWS SDK for Java. So, I set up an amazon account and went to this link
I downloaded the sample project, created my credentials file, and then tried to compile and run the sample.
The first time I did this, I received the error
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] Source option 5 is no longer supported. Use 6 or later.
[ERROR] Target option 1.5 is no longer supported. Use 1.6 or later.
So I changed my pom.xml file from this:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
to this:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
</properties>
The previous error went away, to be replaced by this new one:
[WARNING]
java.lang.reflect.InvocationTargetException
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:564)
at org.codehaus.mojo.exec.ExecJavaMojo$1.run (ExecJavaMojo.java:297)
at java.lang.Thread.run (Thread.java:844)
Caused by: java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
at com.amazonaws.util.Base64.encodeAsString (Base64.java:36)
at com.amazonaws.auth.AbstractAWSSigner.signAndBase64Encode (AbstractAWSSigner.java:70)
at com.amazonaws.auth.AbstractAWSSigner.signAndBase64Encode (AbstractAWSSigner.java:58)
at com.amazonaws.services.s3.internal.S3Signer.sign (S3Signer.java:127)
at com.amazonaws.http.AmazonHttpClient.executeOneRequest (AmazonHttpClient.java:652)
at com.amazonaws.http.AmazonHttpClient.executeHelper (AmazonHttpClient.java:460)
at com.amazonaws.http.AmazonHttpClient.execute (AmazonHttpClient.java:295)
at com.amazonaws.services.s3.AmazonS3Client.invoke (AmazonS3Client.java:3697)
at com.amazonaws.services.s3.AmazonS3Client.createBucket (AmazonS3Client.java:788)
at com.amazonaws.services.s3.AmazonS3Client.createBucket (AmazonS3Client.java:713)
at com.amazonaws.samples.S3Sample.main (S3Sample.java:86)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:564)
at org.codehaus.mojo.exec.ExecJavaMojo$1.run (ExecJavaMojo.java:297)
at java.lang.Thread.run (Thread.java:844)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter
at java.net.URLClassLoader.findClass (URLClassLoader.java:466)
at java.lang.ClassLoader.loadClass (ClassLoader.java:566)
at java.lang.ClassLoader.loadClass (ClassLoader.java:499)
at com.amazonaws.util.Base64.encodeAsString (Base64.java:36)
at com.amazonaws.auth.AbstractAWSSigner.signAndBase64Encode (AbstractAWSSigner.java:70)
at com.amazonaws.auth.AbstractAWSSigner.signAndBase64Encode (AbstractAWSSigner.java:58)
at com.amazonaws.services.s3.internal.S3Signer.sign (S3Signer.java:127)
at com.amazonaws.http.AmazonHttpClient.executeOneRequest (AmazonHttpClient.java:652)
at com.amazonaws.http.AmazonHttpClient.executeHelper (AmazonHttpClient.java:460)
at com.amazonaws.http.AmazonHttpClient.execute (AmazonHttpClient.java:295)
at com.amazonaws.services.s3.AmazonS3Client.invoke (AmazonS3Client.java:3697)
at com.amazonaws.services.s3.AmazonS3Client.createBucket (AmazonS3Client.java:788)
at com.amazonaws.services.s3.AmazonS3Client.createBucket (AmazonS3Client.java:713)
at com.amazonaws.samples.S3Sample.main (S3Sample.java:86)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:564)
at org.codehaus.mojo.exec.ExecJavaMojo$1.run (ExecJavaMojo.java:297)
at java.lang.Thread.run (Thread.java:844)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.231 s
[INFO] Finished at: 2018-04-11T11:34:55-07:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2.1:java (default-cli) on project aws-java-sample: An exception occured while executing the Java class. null: InvocationTargetException: javax/xml/bind/DatatypeConverter: javax.xml.bind.DatatypeConverter -> [Help 1]
I'm quite new to all of this and I've been googling around for a bit trying to find the answer with no luck. I'm sure the answer is incredibly obvious to people who know about this sort of thing. If you could simply point me in the right direction, I'd be really grateful.