Javac 与 java 的版本不同

Javac is not same version as java

Linux 薄荷 19.3

在文件中 etc/profile:

export PATH=$PATH:$JAVA_HOME/bin

运行 set 在终端中:

JAVA_HOME=/usr/java/jdk1.8.0_251
PATH=/usr/java/jdk1.8.0_251/bin

在航站楼 运行

java -version

java version "1.8.0_251"
Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)

没错。

但是当我 运行

javac -version 我得到另一个版本。

javac 11.0.7

我需要 javac 版本 1.8(与 java 相同)

问题的根本原因是在 PATH.

末尾添加了 JAVA_HOME

问题可以通过在PATH的开头添加JAVA_HOME来解决,如下:

export PATH=$JAVA_HOME/bin:$PATH

工作示例:

假设JDK11安装在/opt/jdk-11目录下。 以下是对 java 和 javac 使用 java 版本 11 的步骤:

1.更新 JAVA_HOME 和 PATH

export JAVA_HOME=/opt/jdk-11
export PATH=$JAVA_HOME/bin:$PATH

2。验证 java 和 javac 都是从 /opt/jdk-11/bin

中选取的
$ which java
/opt/jdk-11/bin/java

$ which javac
/opt/jdk-11/bin/javac

3。验证 java 和 javac

的输出
$ java -version
java version "11.0.7" 2020-04-14 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.7+8-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.7+8-LTS, mixed mode)

$ javac -version
javac 11.0.7