1
resposta

Programa has been compiled by a more recent version of the Java Runtime (class file version 54.0), this version of the Java Runtime only recognizes class file versions up to 52.0

Boa tarde. Como na aula não havia as instruções para instalar no Linux, segui as instruções da Digital Ocean (https://www.digitalocean.com/community/tutorials/como-instalar-o-java-com-apt-get-no-ubuntu-16-04-pt ) .Instalei no java no linux ubuntu com o seguinstes comandos:

  • sudo apt-get install default-jre
  • sudo apt-get install default-jdk

Depois segui todas as instruções da sua aula e executei o comando "java Programa" e me apareceu o seguinte erro:

Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: Programa has been compiled by a more recent version of the Java Runtime (class file version 54.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:349)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495)

Sabe me dizer o que ocorreu?

1 resposta

Oi Guilherme, tudo bem? A instalação do Linux é descrita no exercício. No video, o pessoal deu preferência a mostrar como é feito no Windows, por que no Windows temos passos extras e mais trabalhosos do que no Mac ou Linux.

Aqui: https://cursos.alura.com.br/course/java-primeiros-passos/task/30607

Pelo que entendi, o erro diz que você tem uma classe compilada em uma versão X do java, mas está tentando executar ela em uma versão Y, que é mais antiga que a X.