2
respostas

error: a JNI error has occurred, please check your installation and try again

Olá. Na aula Serializando com herança (Java parte 7: Trabalhando com java.io), ao executar a classe "TesteSerializacao" apresenta o seguinte erro:

Exception in thread "main" java.lang.UnsupportedClassVersionError: br/com/bytebank/banco/test/io/TesteSerializacao has been compiled by a more recent version of the Java Runtime (class file version 53.0), this version of the Java Runtime only recognizes class file versions up to 52.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)

Tem relação com versão, mas como resolver?

Desde já, obrigado.

2 respostas

Oi Rogério, tudo bem?

Esse erro ocorre quando você compila o código numa versão superior a versão do ambiente em que está tentando executar, por exemplo, suponha que vc fez uma aplicação web java na sua máquina com Java 8, mas quando foi publicar no servidor de aplicação, o mesmo tinha o Java 7 instalado. Neste caso este erro ocorreria.

Se você está executando na sua máquina mesmo, possivelmente você tem a JRE numa versão e JDK em outra superior. Minha sugestão é desinstalar o Java completamente e reinstalar o JDK. Instalando o JDK ele automaticamente instala o JRE, e tudo fica na mesma versão, isso deve resolver o problema.

Espero ter ajudado. =)

Olá, Isabella Leal, obrigado pelo retorno.

O arquivo java que está apresentando esse erro é o bytebank-herdado-conta, baixado da plataforma.

Já desinstalei e reinstalei os programas jdk-8u251-windows-x64 e jre-8u251-windows-x64 mas o erro continua a persistir! Mais alguma sugestão de solução? Só estou esperando resolver esse problema para encerrar o curso Java parte 7: Trabalhando com java.io e continuar na formação Java.