1
resposta

s3.putobject não funciona.

O código não funciona.

Ao tentar fazer o upload do arquivo (s3.putObject) sempre retorna:

Enviando arquivo... Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException at com.amazonaws.util.Md5Utils.md5AsBase64(Md5Utils.java:104) at com.amazonaws.services.s3.AmazonS3Client.putObject(AmazonS3Client.java:1647) at com.amazonaws.services.s3.AmazonS3Client.putObject(AmazonS3Client.java:1604) at com.amazonaws.samples.S3example.main(S3example.java:51) Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:606) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:168) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) ... 4 more

1 resposta

Juliano, passei pelo mesmo problema! Depois de algumas pesquisas consegui resolver.

Eu estava usando a JDK 15. Comecei a entender o problema quando encontrei esse link falando sobre uma incompatibilidade com a JDK 9: https://www.gitmemory.com/issue/ohnosequences/sbt-s3-resolver/58/491574737

Mesmo a versão que eu estava usando sendo superior a 9, imaginei que pudesse estar sofrendo da mesma incompatibilidade.

Mas a solução dada no link anterior aparentemente não se aplica ao Windows (meu caso): https://github.com/sbt/sbt/issues/5214

Então pra resolver o problema, eu voltei pro JDK 8.

Primeiro baixei por esse link (vai te pedir um cadastro pra baixar mas é rápido de fazer): https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

Depois segui este passo a passo pra mudar a versão do Java do Eclipse: https://www.baeldung.com/eclipse-change-java-version

Por fim rodei o mesmo código novamente e funcionou!

Espero que resolva seu caso também!