Java: Erro ao carregar bibliotecas compartilhadas: libjli.so

1

Eu tentei instalar o openjdk6, openjdk7, oracle8 ... Mas sempre o mesmo erro quando eu quero executar java, por exemplo com java -version :

  

java: erro ao carregar bibliotecas compartilhadas: libjli.so: não é possível abrir o arquivo de objeto compartilhado: Nenhum arquivo ou diretório desse tipo

Eu tentei com links simbólicos tentando reconhecer libjli.so , mas não funcionou

Depois de desinstalar todas as versões, siga os passos mostrados aqui Como desinstalar completamente o Java? , e instalando novamente, não pode fazer com que o erro desapareça. Mesmo se eu desinstalar tudo de novo, se eu escrever no terminal java -version ele ainda me lança o mesmo erro.

Estou fazendo tudo isso com o usuário sudo.

Obrigado

EDITAR: Usando o Ubuntu 14.04 LTS Server

EDIT 2: Instalar o Openjdk7, Oracle7 e Oracle8, usando update-alternatives --config java me diz isso (em espanhol, mas vou tentar traduzir, 3 linhas de informação)

"há apenas uma alternativa no grupo de links java em /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java Nothing to configure."

"update-alternatives: warning: forçando a reinstalação do alternativo /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java porque o grupo de links do Java está corrompido"

"update-alternatives: aviso: /usr/bin/java não será substituído por um link"

    
por Sergio Fernández 22.10.2015 / 08:46

3 respostas

1

Finalmente encontrei a solução:

rm /usr/bin/java
update-alternatives --config java

Agora funciona removendo esse binário, estava causando problemas. Não sabe se update-alternatives teve algum efeito, mas o último aviso não foi exibido.

    
por Sergio Fernández 22.10.2015 / 09:25
0

Eu encontrei a mesma pergunta no CentOS quando instalei o jdk1.8.

Eu resolvi isso por:

primeiro, você deve dar permissão de execução ao arquivo e, em seguida, instalá-lo e configurá-lo.

chmod a+x jdk-8u151-linux-x64.tar.gz

na verdade, o arquivo libji.so está no diretório

jdk1.8.0_151/jre/lib/amd64/jli/libjli.so
    
por yukun sun 12.11.2017 / 09:23
0

Encontrei esse problema quando criei um link físico para o executável java e tentei executá-lo. Estou presumindo que ele estava procurando por suas bibliotecas usando um caminho relativo para o binário executável.

Eu tentei essas duas opções e cada uma funcionou para mim:

  • Colocando o hard-link no mesmo diretório que o binário java e executando-o de lá (/ usr / lib / jvm / openjre-8 / bin no meu caso)
  • Criando e usando um link simbólico em vez de um link físico (ou seja, com ln -s $(which java) /usr/bin/${my_binary_name} )
por maniac 21.06.2018 / 22:29