我正在尝试将 Oracle JDK 7 32 位重新安装到 64 位 Ubuntu(之前安装了 64 位 JDK)。JDK 目前位于/usr/lib/jvm/jdk1.7.0
。我调用
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
进而:
/usr/lib/jvm/jdk1.7.0/bin$ java
bash: /usr/bin/java: No such file or directory
为何java无法调用?
答案1
显示此消息是因为 Ubuntu 64 位中缺少一些 32 位库。运行:
apt-get install libc6-i386
答案2
我正在帮助一位朋友将他们的 RiotBoard 安装在 Linaro-Ubuntu 上,以便将其设置为 minecraft 服务器。我们遇到了同样的错误。我发现的问题是 Java 引用了/lib/ld-linux-armhf.so.3
系统中不存在的内容。当您查看/lib
唯一的加载文件时,/lib/ld-linux.so.3
我只需软链接它们就可以了。下面是我解决问题的方法以及我修复它的方法。
root@linaro-ubuntu-desktop:/opt/java/jdk1.8.0_06/bin# java
-su: /usr/bin/java: No such file or directory
root@linaro-ubuntu-desktop:/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
root@linaro-ubuntu-desktop:/opt/java/jdk1.8.0_06/bin# ls /lib/ld*
/lib/ld-linux.so.3
root@linaro-ubuntu-desktop:/opt/java/jdk1.8.0_06/bin# ln -s /lib/ld-linux.so.3 /lib/ld-linux-armhf.so.3
root@linaro-ubuntu-desktop:/opt/java/jdk1.8.0_06/bin# ls /lib/ld*
/lib/ld-linux-armhf.so.3 /lib/ld-linux.so.3
root@linaro-ubuntu-desktop:/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)
root@linaro-ubuntu-desktop:/opt/java/jdk1.8.0_06/bin#
答案3
你正在做的是尝试执行二进制文件而不告诉它的路径,
为了执行 java 二进制文件,请在 bin 文件夹中尝试“./java”,否则请包含其完整路径,对于安装,你可以尝试以下操作:-
http://www.devsniper.com/ubuntu-12-04-install-sun-jdk-6-7/