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

[Dúvida] Como fazer a API funcionar

Ao tentar executar o comando java -jar api.jar estou obtendo a seguinte saída no terminal:

Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/springframework/boot/loader/JarLauncher has been compiled by a more recent version of the Java Runtime (class file version 61.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:468)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
        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)

Como posso fazer para conseguir rodar a API? Estou utilizando Ubuntu 22.04.4 LTS Grato

2 respostas
solução!

Olá Adonay! Como vai?

O problema está relacionado à versão do Java que você está utilizando.

A mensagem de erro indica que a classe JarLauncher foi compilada com uma versão mais recente do Java (versão 61.0, que corresponde ao Java 17), enquanto a sua versão atual do Java Runtime só reconhece versões até 52.0 (Java 8).

Para resolver esse problema, você precisa instalar uma versão mais recente do Java. No seu caso, a versão 17 deve resolver o problema. Vou te mostrar como fazer isso no Ubuntu 22.04.4 LTS:

  1. Atualize a lista de pacotes:

    sudo apt update
    
  2. Instale o OpenJDK 17:

    sudo apt install openjdk-17-jdk
    
  3. Verifique se a instalação foi bem-sucedida e se a versão correta está sendo usada:

    java -version
    

    A saída deve ser algo parecido com:

    openjdk version "17.0.1" 2021-10-19
    OpenJDK Runtime Environment (build 17.0.1+12-39)
    OpenJDK 64-Bit Server VM (build 17.0.1+12-39, mixed mode, sharing)
    

    OBS: pode ser necessário fechar e abrir o terminal para que as configurações de path para a nova versão do java sejam aplicadas.

  4. Agora, tente executar novamente o comando para iniciar a API:

    java -jar api.jar
    

Se tudo estiver correto, a API deve iniciar sem problemas.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Excelente! Obrigado!