环境变量配置不生效问题处理方法

429 阅读1分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

前言

今天给大家分享一下多环境部署不同 Java 版本过程中,踩过的一个坑,部署的 Java 环境不生效,接下来让我们看一下是什么原因导致的。

需求背景

日常工作中,我们经常会碰到这样的需求:部署一个 xxx 版本的 Java 环境。 假设目前我们有这样一个需求:在 Linux 系统中,root 环境部署了一个 1.7 版本的 Java 环境,用于日志抓取。现在我们想在 work 用户下部署一个 Java 项目,需要的 Java 版本是 Java 11,现在来开始我们的部署。

操作步骤

1. 下载 JDK11 && 2. 解压

这两步相信大家都会,就不在这里细致描述。

3. 配置环境变量

我们把 Java 环境变量配置在 ~/.bash_profile 里面。我们将下面内容添加到 ~/.bash_profile 中。

export JAVA_HOME=/home/service/jdk-11.0.9
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

执行下面命令使环境变量生效:

source ~/.bash_profile

我们查看一下 java 版本:

java -version

java version "1.7.0_76"
Java(TM) SE Runtime Environment (build 1.7.0_76-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.76-b04, mixed mode)

我们的配置没有生效的原因是由于下面这行命令导致的:

export PATH=$PATH:$JAVA_HOME/bin

bash 在 $PATH 中已经找到了 Java 的配置,所以就不往下面继续找了,所以就无法找到最新的配置了。所以我们需要将 $JAVA_HOME/bin 放在前面。需要改成下面这样:

export PATH=$JAVA_HOME/bin:$PATH

执行下面命令使环境变量生效:

source ~/.bash_profile

我们再查看一下 java 版本:

java -version

java version "11.0.9" 2020-10-20 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.9+7-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.9+7-LTS, mixed mode)

OK!大功告成!

日常工作中,当我们配置的环境变量无法生效时,我们一定要考虑下配置的顺序是否正确。