linux下jdk环境变量配置深度分析----解决环境变量不生效的问题

1.linux下jdk环境变量配置java

是否须要配置环境变量,主要看java -version 显示的版本是否为你指望的版本linux

1.1 不须要配置环境变量的状况缓存

使用java -version查看,版本显示正好是你刚刚安装的版本,这通常为rpm包安装的状况bash

rpm安装命令:rpm -ivh /data/software/jdk-7u67-linux-x64.rpmssh

1.2 须要配置jdk环境的状况spa

java -version显示的版本号不对。通常是直接解压的jdk都须要配置。ci

1.3 jdk环境变量配置及生效get

修改/etc/profileqt

(有些可能改对应用户下的隐藏文件.base_profile或.profile,如root用户,对应/root/.bash_profile,/root/.profile)io

vi /etc/profile

在末尾加入

export JAVA_HOME=/usr/java/jdk1.7.0_67

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib

export PATH=$PATH:$JAVA_HOME/bin

而后执行source /etc/profile,执行可以使之立刻生效。

2.配置了环境变量后不生效的解决方案

问题:在/etc/profile中配置了环境变量,执行java -version发现版本仍是不对,怎么办?

解决步骤

  一、关闭ssh链接,从新链接,再次执行java -version查看版本,有些多是缓存,从新链接便可

  二、步骤1没解决,执行步骤2,检查/etc/profile中是否书写有误,如英文单词写错了。

  三、步骤2没解决,执行步骤3,看看是否有其余配置文件中配置了环境变量。

      如(有些可能改对应用户下的隐藏文件.base_profile或.profile,如root用户,对应/root/.bash_profile,/root/.profile)

  经过echo $PATH和echo $CLASSPATH查看,看是否有其余路径的jdk版本存在。

四、查看PATH和CLASSPATH都没有问题,但java -version仍是不对怎么办?

     终极绝招:分析PATH路径,

     [root@localhost ~]# echo $PATH
    /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/bin:/usr/java/jdk1.7.0_67/bin:/root/bin

   根据PATH中的路径从前到后的顺序查找java文件

即查找如下路径中是否存在java文件

/usr/lib64/qt-3.3/bin

/usr/local/sbin

/usr/local/bin

/sbin

/bin

/usr/bin

/usr/java/jdk1.7.0_67/bin

/root/bin

也可使用find / -name "java"查找全部的java文件,而后看看这些java文件是否在PATH对应的目录中,

通常出问题的都在/usr/bin路径下的java文件,该文件是个连接文件,指向的真实文件并不是你须要的jdk版本,能够把该文件删除,

而后从新安装jdk(rpm -ivh /data/software/jdk-7u67-linux-x64.rpm )。

以下是错误的连接文件:

[root@localhost bin]# ll /usr/bin/java

lrwxrwxrwx. 1 root root 22  8月  6 12:16 java -> /etc/alternatives/java

相关文章
相关标签/搜索