Debian 8 -bash: /usr/bin/java: 没有这样的文件或目录

Debian 8 -bash: /usr/bin/java: 没有这样的文件或目录

在新的 Debian 系统上,我使用以下命令安装了 JRE

sudo apt-get install default-jre

然后我下载了一个 jar 文件并尝试运行它:

java -jar server.jar

该文件抛出异常:

java.lang.unsupportedclassversionerror 不支持的major.minor版本52.0

所以我开始寻找解决方案并遵循用户的指示:

sudo rm /usr/bin/java
sudo ln -s /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java /usr/bin

后来我意识到我什至没有目录/Library,因此这个链接没有指向任何地方。

现在我什至无法运行java了:

java -jar server.jar
-bash: /usr/bin/java: No such file or directory

我已经尝试卸载 JRE 并重新安装它:

apt-get remove default-jre
apt-get update
apt-get install default-jre

但这并没有改变任何事情。

Java似乎已安装:

    find /usr -name java
/usr/share/bash-completion/completions/java
/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
/usr/lib/jvm/java-7-openjdk-amd64/bin/java

答案1

要恢复您的/usr/bin/java链接,您应该运行

sudo update-java-alternatives -a

如果您使用的是 Debian 9(如最初所述),您不应该遇到这些问题,因为 OpenJDK 8 是默认版本,而 OpenJDK 7 甚至不可用。修复问题以便您可以运行版本 52 类(IEJava 8 类),安装 OpenJDK 8:

sudo apt install openjdk-8-jre

在 Debian 8 上,您可以从向后移植安装 OpenJDK 8:

echo deb http://archive.debian.org/debian jessie-backports main | sudo tee /etc/apt/sources.list.d/jessie-backports.list
echo 'Acquire::Check-Valid-Until "false";' | sudo tee -a /etc/apt/apt.conf
sudo apt update
sudo apt -t jessie-backports install openjdk-8-jre

(看无法获取 jessie 向后移植存储库了解详情。)

然后,您需要专门选择 OpenJDK 8 作为默认值:

sudo update-java-alternatives -s java-1.8.0-openjdk-amd64

(要查看可能的值,请运行/usr/sbin/update-java-alternatives -l。)

答案2

如果您收到如下错误:

bash: /usr/bin/java: No such file or directory

跑步:

apt-get install libc6-i386

一些 32 位库丢失

相关内容