Javac与java的版本不同

Javac与java的版本不同,java,linux-mint-19,Java,Linux Mint 19,Linux Mint 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 Ho

Linux Mint 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相同)

问题的根本原因是在路径的末尾添加了java\u HOME


通过将JAVA_HOME添加到路径的开头,可以解决此问题,如下所示:

export PATH=$JAVA_HOME/bin:$PATH
工作示例:

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

1。更新JAVA_主页和路径

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