Solucionado (ver solução)
Solucionado
(ver solução)
7
respostas

Erro Após formatação do Windows

Estava fazendo o curso tranquilamente, e resolvi formatar o computador, reeinstalei a JDK e a JRE, mas após eu importar o projeto para o Eclipse e tentar executá lo, acontece o seguinte erro:

Exception in thread "main" java.lang.UnsupportedClassVersionError: TesteReferencias 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)

E aparece o seguinte erro na tela:

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

Já reeinstalei, instalei, e continua com o mesmo erro, desde já agradeço.

7 respostas

Oi Ítalo tudo bem?

Acho que o motivo do erro está escrito aqui

Exception in thread "main" java.lang.UnsupportedClassVersionError: TesteReferencias 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

Me parece que antes você usava uma versão mais recente agora está com uma versão mais antiga do Java Runtime

Seu Java Runtime deve estar usando a versão 8 (class file version 52.0) atualize ele para pelo menos para versão 9 .

Espero ter ajudado!!!

Opa, dei uma pesquisada aqui, e não achei java com versão mais recente. Teria como me enviar o link?

Por gentileza poderia executar no cmd o comando java - version e depois javac - version e colar aqui a saída.

Comando java -version

Resultado:

Picked up _JAVA_OPTIONS: -Xmx5112m java version "1.8.0_201" Java(TM) SE Runtime Environment (build 1.8.0_201-b09) Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)

Comando javac -version

Resultado:

Picked up _JAVA_OPTIONS: -Xmx512m javac 11.0.2

Quando abro o eclipse e importo o projeto, aparece o seguinte:

http://prntscr.com/ma15gc

http://prntscr.com/ma15pd

http://prntscr.com/ma15u5

solução!

Ítalo,

Você está usando a versão 11 do Java no compiler (Javac) e a versão 8 do java no JRE.

Olha sua variável de ambiente PATH. O problema está ocorrendo provavelmente porque você tem um JRE no seu path que está antes do seu JDK. Isso geralmente acontece quando adicionamos o JDK no caminho e não removemos os JREs anteriormente adicionados. Assim, quando você faz o comando java, ele aponta para o JRE e quando você faz o javac ele aponta para a outra versão do JDK (já que o jre não tem um javac nele).

Muito obrigado Otávio Felipe Do Prado, segui suas instruções e consegui resolver o problema, desde já agradeço.