在 Ubuntu 上解决 Java JRE 版本重复的问题

在 Ubuntu 上解决 Java JRE 版本重复的问题

我已经在 ubuntu 上安装了 java jdk 9 和 java jre 9,并将两者的路径设置为/etc/environmentas,/usr/local/jdk-9.0.4:/usr/local/jre-9.0.4/bin然后我测试了javac -version哪个打印 jdk9,但是当我运行时java -version它打印

openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-8u151-b12-0ubuntu0.17.10.2-b12)
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)

我不知道openjdk安装在哪里。我认为它是和MAVEN一起安装的。

以下是/etc/environment内容

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/jdk-9.0.4/bin"
JAVA_HOME="/usr/local/jdk-9.0.4:/usr/local/jre-9.0.4/bin"

答案1

当您安装 maven 时,openjdk-8-jre-headless 会作为依赖项安装。Java 运行时环境 (jre) 确实包含java二进制文件,但不包括 Java 编译器 ( javac)。java二进制文件(或者更具体地说,指向它的链接)现在位于 中/usr/bin。由于PATH-variable 是从左到右处理的,因此执行java会执行/usr/bin/java,而javac执行 是/usr/local/jdk-9.0.4/bin/javac因为在 中包含的任何其他文件夹中都找不到它PATH。您可以使用命令自行检查which,例如which javawhich javac

openjdk8 jre 很可能安装在/usr/lib/jvm/java-8...并且它的二进制文件/usr/binDebian 替代系统

相关内容