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

[Dúvida] Erro de version...

Olá!

Rodei o comando java -jar , no caminho coloquei o caminho dele completo e estou tendo o seguinte log...

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

19 respostas

Alguém pra me auxiliar com esse log?

Olá, João!

Pelo log que você compartilhou, o erro java.lang.UnsupportedClassVersionError indica que a versão do Java Runtime que você está usando para executar o arquivo .jar é mais antiga do que a versão com a qual o arquivo foi compilado.

A mensagem "class file version 61.0, this version of the Java Runtime only recognizes class file versions up to 52.0" informa que o .jar foi compilado com o Java 17 (versão 61.0), mas você está tentando executá-lo com uma versão do Java mais antiga, provavelmente Java 8 (versão 52.0).

Para resolver esse problema, você precisa instalar o Java 17 no seu ambiente. Para verificar a versão do Java no terminal:

java -version

Espero ter ajudado e bons estudos!

Minha versão é essa Rodrigo...

Insira aqui a descrição dessa imagem para ajudar na acessibilidade Teria algum link aqui da Alura pra instalação do java? Não me recordo se tem...

No aguardo

Precisa atualizar para o Java 17

No primeiro curso de Java fala da instalação: https://cursos.alura.com.br/course/java-criando-primeira-aplicacao

Acabei de instalar e configurar a variável de ambiente no windows. Mas o IntelliJ ainda está reconhecendo somente a versão enviada acima. Como faço para desinstalar ela e instalar a 17?

Ou será que se reiniciar o notebook ele já reconhece a 17?

No aguardo...

Se você estiver rodando o comando do terminal dentro do IntelliJ, precisa reiniciar o IntelliJ para ele detectar a mudança nas variáveis de ambiente.

Eu reiniciei mas ele continua mostrando conforme o print que mandei da versão...

Ele não atualizou e não sei porque...

Veja se o Java 17 está configurado no projeto no IntelliJ.

Botão direito -> Open Module Settings (nos menus Module e Project)

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Atualizei conforme indicado nos prints. A versão que baixei. E mesmo assim continuo com erro de acesso ao arquivo...

Insira aqui a descrição dessa imagem para ajudar na acessibilidade Insira aqui a descrição dessa imagem para ajudar na acessibilidade

A mensagem agora é outra. Erro de acesso. Não sei porque...

Insira aqui a descrição dessa imagem para ajudar na acessibilidade Unable to acess jarfile. Coloquei o path certinho do arquivo....

Agora o erro foi no comando. Como sua pasta tem espaço em branco no nome, precisa colocar entre aspas.

java -jar "C:\Users\josh_\Desktop\Boas Praticas em Java\3149-boas-praticas-java-projeto_inicial\api.jar"

Agora coloquei as aspas e voltou a dar o mesmo problema de versionamento...não tô entendendo porque. Instalei o 17, atualizei o project e module para a versão 17 conforme mostrei no print...mas ainda está dando o mesmo erro...

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Deve estar constando ainda a versão 8 no seu terminal. Você pode rodar assim então:

C:\Program Files\Java\jdk-17\bin\java -jar "C:\Users\josh_\Desktop\Boas Praticas em Java\3149-boas-praticas-java-projeto_inicial\api.jar"

Lembrando de alterar o caminho para o diretório correto de instalação do Java 17 no seu computador.

Oi Rodrigo! Agora com esse caminho do diretório especifico do java 17(copiei e colei o diretório correto que está no arquivo bin do java 17) , ele não reconhece o comando...conforme o print.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Aspas duplas porque tem espaço em branco no caminho:

"C:\Program Files\Java\jdk-17\bin\java" -jar "C:\Users\josh_\Desktop\Boas Praticas em Java\3149-boas-praticas-java-projeto_inicial\api.jar"

Se não funcionar, rode o comando de dentro da pasta bin do java:

cd "C:\Program Files\Java\jdk-17\bin"
java -jar "C:\Users\josh_\Desktop\Boas Praticas em Java\3149-boas-praticas-java-projeto_inicial\api.jar"

Entrei na pasta com o comando cd pois o caminho entre aspas duplas não estava indo...

Agora dentro da pasta bin e rodando o comando java -jar "caminho-completo-do-arquivo" está dando o mesmo erro de versão de novo...

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

solução!

Ah sim, esqueci desse detalhe, se digitar apenas java, ele vai pegar da variável de ambiente que está apontando para o Java 8 e nao o java da pasta bin.

Tente assim então:

java.exe -jar "C:\Users\josh_\Desktop\Boas Praticas em Java\3149-boas-praticas-java-projeto_inicial\api.jar"

Se não der certo, tente criar um alias temporário no powershell:

Set-Alias -Name java17 -Value "C:\Program Files\Java\jdk-17\bin\java.exe"
java17 -jar "C:\Users\josh_\Desktop\Boas Praticas em Java\3149-boas-praticas-java-projeto_inicial\api.jar"

Tentei sua primeira instrução e não foi. Ai criei o Alias e deu certinho! Pra rodar qualquer .jar agora em outras aplicações vou ter que criar um alias? Tenho que estar na pasta bin com o comando cd sempre? Ou será que executando fora dela roda? Só mais essa dúvida rsrsrs

Boa.

Com o alias não precisa acessar a pasta do java 17 não. Pode rodar o comando de qualquer diretório no terminal. Porém, esse alias é temporário, ou seja, quando você fechar o power shell e abrir de novo ele não vai mais existir. Dá uma pesquisada que deve ter como configurar alias definitivo no power shell do windows.

Obrigado Rodrigo pelo suporte!

Vou pesquisar.