eclipse: versão do arquivo de classe 53.0), esta versão do Java Runtime reconhece apenas as versões do arquivo de classe até 52.0

2

Desde a atualização ontem (sim, a atualização do linux), o eclipse me nega a rodar até mesmo o mais simples do mundo:

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

Texto de erro completo:

Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: gitplayground/HelloWorld 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(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495)

Eu tentei atualizar o JRE (e o JDK):

  • janela - > preferências - > java - > JREs instalados. Eu poderia verificar: java-8-openjdk-amd64 (que é atualmente) ou java-11-openjdk-amd64 .
  • janela - > preferências - > java - > compilador. O nível de conformidade do compilador é definido como 1,8 (ele não conhece o java 11. Ele conhece o java 9.)
  • janela - > preferências - > java - > JREs instalados - > Ambiente de Execução. Ao clicar em JavaSE-1.8 na lista da esquerda, duas opções aparecem na direita: java-8-openjdk-amd64 e java-1.8-openjdk-amd64 . Primeiro está marcado. (Mas eu não acho que isso importe, porque estes devem ser os mesmos.)
  • Eu tentei atualizar o eclipse. (Nenhuma atualização disponível)

Portanto, tudo está configurado para Java8. Por que o erro ainda ocorre?

Btw, alguns dos meus projetos (incluindo o helloworld) estão marcados com um ponto de exclamação vermelho, mas o erro aparece em qualquer projeto, não apenas nestes.

  • Eu uso o XUbuntu 18.04 agora (antes da atualização, tudo funcionou bem)
  • eu uso o eclipse Photon
  • Eu uso apenas a API padrão do Java
  • eu uso o git e o plugin eclipse git
por Asqiir 05.05.2018 / 10:17

1 resposta

0

Eu encontrei o mesmo problema anteriormente quando baixei o JDK 11 e tentei mexer com o java 11, e eu tentei outros comentários também, mas sem sucesso. No entanto, vá para Window - > installed JREs e instalar a versão mais recente do jdk resolve o meu problema.

Meu palpite é que a versão mais nova do java precisa ser desinstalada para que a versão anterior do java possa ser usada, como li nesse , combina as duas respostas:

Actually Eclipse has its own compiler. You can develop java apps using only the JRE and Eclipse

You can still check/set which JDK version you want to compile to. If you go to Window->Preferences, then click "Java" from the menu on the left and then "Compiler". The first setting allows you to see which JDK version is being complied with. I know this doesn't directly answer your question since JDK isn't actually compiling it, but hopefully it helps!

Acabei de encontrar outro caminho que pode resolver o problema.

Aqui é onde adicionar compatibilidade:

Adicioneojdkaqui:

E o problema foi resolvido.

    
por GoldenaArcher 29.09.2018 / 07:00