Não consigo abrir arquivo .jar no Fedora 39

Instalei o openjdk como mostra a saída do terminal a seguir:

[renan@vortex Downloads]$ sudo dnf install java-1.8.0-openjdk.x86_64
Última verificação de metadados: 0:21:34 atrás em ter 21 nov 2023 21:25:47.
Dependências resolvidas.
==============================================================================================================================================================================================================================================================
 Pacote                                                                   Arquitetura                                         Versão                                                                Repositório                                          Tam.
==============================================================================================================================================================================================================================================================
Instalando:
 java-1.8.0-openjdk                                                       x86_64                                              1:1.8.0.382.b05-2.fc39                                                fedora                                              432 k
Instalando dependências:
 java-1.8.0-openjdk-headless                                              x86_64                                              1:1.8.0.382.b05-2.fc39                                                fedora                                               31 M

Resumo da transação
==============================================================================================================================================================================================================================================================
Instalar  2 pacotes

Tamanho total do download: 31 M
Tamanho depois de instalado: 105 M
Correto? [s/N]: s
Baixando pacotes:
(1/2): java-1.8.0-openjdk-1.8.0.382.b05-2.fc39.x86_64.rpm                                                                                                                                                                     954 kB/s | 432 kB     00:00    
(2/2): java-1.8.0-openjdk-headless-1.8.0.382.b05-2.fc39.x86_64.rpm                                                                                                                                                             13 MB/s |  31 MB     00:02    
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                                                                                          11 MB/s |  31 MB     00:02     
Executando verificação da transação
Verificação de transação concluída.
Executando teste de transação
Teste de transação concluído.
Executando a transação
  Executando scriptlet: java-1.8.0-openjdk-headless-1:1.8.0.382.b05-2.fc39.x86_64                                                                                                                                                                         1/1 
  Preparando          :                                                                                                                                                                                                                                   1/1 
  Instalando          : java-1.8.0-openjdk-headless-1:1.8.0.382.b05-2.fc39.x86_64                                                                                                                                                                         1/2 
  Executando scriptlet: java-1.8.0-openjdk-headless-1:1.8.0.382.b05-2.fc39.x86_64                                                                                                                                                                         1/2 
  Instalando          : java-1.8.0-openjdk-1:1.8.0.382.b05-2.fc39.x86_64                                                                                                                                                                                  2/2 
  Executando scriptlet: java-1.8.0-openjdk-1:1.8.0.382.b05-2.fc39.x86_64                                                                                                                                                                                  2/2 
  Executando scriptlet: java-1.8.0-openjdk-headless-1:1.8.0.382.b05-2.fc39.x86_64                                                                                                                                                                         2/2 
  Executando scriptlet: java-1.8.0-openjdk-1:1.8.0.382.b05-2.fc39.x86_64                                                                                                                                                                                  2/2 
  Verificando         : java-1.8.0-openjdk-1:1.8.0.382.b05-2.fc39.x86_64                                                                                                                                                                                  1/2 
  Verificando         : java-1.8.0-openjdk-headless-1:1.8.0.382.b05-2.fc39.x86_64                                                                                                                                                                         2/2 

Instalados:
  java-1.8.0-openjdk-1:1.8.0.382.b05-2.fc39.x86_64                                                                          java-1.8.0-openjdk-headless-1:1.8.0.382.b05-2.fc39.x86_64                                                                         

Concluído!
[renan@vortex Downloads]$ java --version
bash: /usr/bin/java: cannot execute: required file not found

No menu aparece um app OpenJDK, mas quando tento abrir um arquivo .jar pela interface gráfica, ele não aparece entre as opções do “Abrir com…”

Pelo terminal acontece isso:

[renan@vortex Downloads]$ java -jar OptiFine_1.20.1_HD_U_I5.jar 
bash: /usr/bin/java: cannot execute: required file not found
1 curtida

Pode mostrar a saída de:

file -L /usr/bin/java /usr/bin/env

Tente ver se há alguma diferença entre as duas linhas que saírem (em especial a coluna que começa com interpreter)

Talvez seja algum vacilo do membro da distribuição que fez o pacote (como foi nesse caso).

[renan@vortex ~]$ file -L /usr/bin/java /usr/bin/env
/usr/bin/java: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.9, not stripped
/usr/bin/env:  ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=756a04dbd293d6e70e3aceebadffa3fd07316012, for GNU/Linux 3.2.0, stripped

Que estranho, você instalou algum pacote de 32-bits do Java antes do atual? Redirecionou o /usr/bin/java com o comando alternatives?

Só o que eu instalei antes foi o java-latest-openjdk.x86_64 que também não funcionou, aconteceu exatamente a mesma coisa.

E não, eu não mexi com o comando alternatives.

Rode sudo alternatives --config java para ver e configurar a qual versão o /usr/bin/java se refere.


Esse /usr/bin/java definitivamente não veio dos pacotes que você baixou com o dnf (pra começar, todos os pacotes oficiais do Fedora mostram um BuildID na saída do file, e baixando os pacotes aqui, eles são de 64-bits). Eu não faço ideia de como ele foi parar aí.

[renan@vortex ~]$ sudo alternatives --config java
[sudo] senha para renan: 

Há 4 programas que oferecem "java".

  Seleção    Comando
-----------------------------------------------
   1           java-17-openjdk.x86_64 (/usr/lib/jvm/java-17-openjdk-17.0.8.0.7-1.fc39.x86_64/bin/java)
   2           java-latest-openjdk.x86_64 (/usr/lib/jvm/java-21-openjdk-21.0.0.0.35-1.rolling.fc39.x86_64/bin/java)
*+ 3           /usr/lib/jvm/jre-1.8-oracle-x86/bin/java
   4           java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.382.b05-2.fc39.x86_64/jre/bin/java)

Indique para manter a seleção atual[+] ou digite o número da seleção: 2
[renan@vortex ~]$ sudo alternatives --config java

Há 4 programas que oferecem "java".

  Seleção    Comando
-----------------------------------------------
   1           java-17-openjdk.x86_64 (/usr/lib/jvm/java-17-openjdk-17.0.8.0.7-1.fc39.x86_64/bin/java)
 + 2           java-latest-openjdk.x86_64 (/usr/lib/jvm/java-21-openjdk-21.0.0.0.35-1.rolling.fc39.x86_64/bin/java)
*  3           /usr/lib/jvm/jre-1.8-oracle-x86/bin/java
   4           java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.382.b05-2.fc39.x86_64/jre/bin/java)

Indique para manter a seleção atual[+] ou digite o número da seleção:   

Mudei para o latest e fucionou, eu consegui rodar o app .jar

O item 3 é o Java de 32 bits que estava selecionado e causava a mensagem de erro. Como ele foi parar aí?


Podemos considerar esse problema resolvido?

Se sim, clique nas reticências na resposta que resolveu o problema e marque “Solução” para facilitar a busca para quem tiver esse problema no futuro.