问题描述:

profile文件

配置
vim /etc/profile
export JAVA_HOME=/itchun/jdk17
export PATH:$PATH:$JAVA_HOME/bin

运行生效
source /etc/profile

目录:
在这里插入图片描述
查看结果,依然是系统自带的jdk1.8

root@localhost ~]# java -version
openjdk version "1.8.0_412"
OpenJDK Runtime Environment (build 1.8.0_412-b08)
OpenJDK 64-Bit Server VM (build 25.412-b08, mixed mode)

原因分析

echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/itchun/jdk17/bin:/root/bin

这里发现,/itchun/jdk17/bin 是在最后面的,Shell 会按 PATH 中从左到右的顺序查找命令,若 JDK 1.8 的 bin 目录(如 /usr/bin)在 PATH 中排在 $JAVA_HOME/bin 前面,系统就会优先使用 JDK 1.8 的 java 命令。

解决问题

修改/etc/profile,改写在最前面
export JAVA_HOME=/itchun/jdk17
export PATH=$JAVA_HOME/bin:$PATH

运行生效
source /etc/profile

再次尝试修改成功
[root@localhost ~]# /itchun/jdk17/bin/java -version
java version "17.0.3.1" 2022-04-22 LTS
Java(TM) SE Runtime Environment (build 17.0.3.1+2-LTS-6)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.3.1+2-LTS-6, mixed mode, sharing)

更多推荐