Resolvendo problema de compatibilidade entre java e javac

Me deparei (sic) com um problema ao tentar executar um código Java.

Primeiro eu compilei o programa normalmente com javac. Porém ao tentar executar o programa apareceu a mensagem de erro abaixo:

Transcrição de parte do erro:

“Error: A JNI error has occurred, please check your installation and try again
Exception in thread “main” java.lang.UnsupportedClassVersionError: Aleatorios has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0″

Usando os comandos which e ls descobri que javac apontava para /usr/lib/jvm/java-11-openjdk-amd64/bin/javac e java apontava para /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java, claramente versões diferentes do Java, o que era condizente com o erro acima. Lembro vagamente de ter alterado a versão do runtime Java (não me lembro o motivo) mas eu acreditava que o javac mudava junto. Parece que não.

Bom, com o comando

sudo update-alternatives --config java

Selecionei a versão mais recente do Java (mesma versão do javac).

E aí agora tudo voltou a funcionar. Espero ter ajudado alguém.

Referência utilizada: https://aboullaite.me/switching-between-java-versions-on-ubuntu-linux/

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *