“Nenhum arquivo ou diretório desse tipo” ao invocar java

21

Estou tentando reinstalar o Oracle JDK 7 de 32 bits para o Ubuntu de 64 bits (anteriormente, o JDK de 64 bits estava instalado). O JDK está atualmente presente em /usr/lib/jvm/jdk1.7.0 . Eu invoco

sudo update-alternatives --remove "java" "/usr/lib/jvm/jdk1.7.0/bin/java"
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.7.0/bin/java" 1

E então:

/usr/lib/jvm/jdk1.7.0/bin$ java
bash: /usr/bin/java: No such file or directory

Por que o java não pode ser chamado?

    
por Andrei Botalov 28.10.2012 / 10:03

3 respostas

32

Esta mensagem é mostrada porque algumas bibliotecas de 32 bits estão ausentes no Ubuntu de 64 bits. Executar:

apt-get install libc6-i386

Consulte O Java está instalado na listagem, mas a execução produz “./java: Nenhum arquivo ou diretório desse tipo mais detalhes

    
por Andrei Botalov 28.10.2012 / 18:03
1

Eu estava ajudando um amigo da RiotBoard a executar o Linaro-Ubuntu para configurá-lo como um servidor de minecraft. Nós temos o mesmo erro. O problema que encontrei foi que o Java estava referenciando /lib/ld-linux-armhf.so.3 , que não existe no sistema. Quando você olha para /lib , o único arquivo de carregamento é /lib/ld-linux.so.3 , então eu simplesmente os vinculo e funciona. Abaixo está como eu trabalhei e o que eu fiz para consertar isso.

[email protected]:/opt/java/jdk1.8.0_06/bin# java
-su: /usr/bin/java: No such file or directory

[email protected]:/opt/java/jdk1.8.0_06/bin# strings java

/lib/ld-linux-armhf.so.3
qwwBI
libpthread.so.0
_Jv_RegisterClasses
libjli.so
_ITM_deregisterTMCloneTable
JLI_Launch
__gmon_start__
_ITM_registerTMCloneTable
libdl.so.2
libc.so.6
abort
__libc_start_main
lib.so
$ORIGIN/../lib/arm/jli:$ORIGIN/../lib/arm
SUNWprivate_1.1
GLIBC_2.4
1.8.0_06-b23
java

[email protected]:/opt/java/jdk1.8.0_06/bin# ls /lib/ld*

/lib/ld-linux.so.3

[email protected]:/opt/java/jdk1.8.0_06/bin# ln -s /lib/ld-linux.so.3 /lib/ld-linux-armhf.so.3

[email protected]:/opt/java/jdk1.8.0_06/bin# ls /lib/ld*

/lib/ld-linux-armhf.so.3  /lib/ld-linux.so.3


[email protected]:/opt/java/jdk1.8.0_06/bin# java -version

java version "1.8.0_06"

Java(TM) SE Runtime Environment (build 1.8.0_06-b23)
Java HotSpot(TM) Client VM (build 25.6-b23, mixed mode)
[email protected]:/opt/java/jdk1.8.0_06/bin#
    
por oldgreybeard 24.01.2015 / 20:10
0

o que você está fazendo é tentar executar o arquivo binário sem contar seu caminho,
para executar o binário java tente "./java" na pasta bin mais inclua todo o caminho e para instalação você pode tentar isto: link

    
por r4jiv007 28.10.2012 / 10:08