linux下jdk環境變量配置深度分析----解決環境變量不生效的問題


1.linux下jdk環境變量配置

是否需要配置環境變量,主要看java -version 顯示的版本是否為你期望的版本

1.1 不需要配置環境變量的情況

使用java -version查看,版本顯示正好是你剛剛安裝的版本,這一般為rpm包安裝的情況

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

1.2 需要配置jdk環境的情況

java -version顯示的版本號不對。一般是直接解壓的jdk都需要配置。

1.3 jdk環境變量配置及生效

修改/etc/profile

(有些可能改對應用戶下的隱藏文件.base_profile或.profile,如root用戶,對應/root/.bash_profile,/root/.profile)

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發現版本還是不對,怎么辦?

解決步驟

  1、關閉ssh連接,重新連接,再次執行java -version查看版本,有些可能是緩存,重新連接即可

  2、步驟1沒解決,執行步驟2,檢查/etc/profile中是否書寫有誤,如英文單詞寫錯了。

  3、步驟2沒解決,執行步驟3,看看是否有其他配置文件中配置了環境變量。

      如(有些可能改對應用戶下的隱藏文件.base_profile或.profile,如root用戶,對應/root/.bash_profile,/root/.profile)

  通過echo $PATH和echo $CLASSPATH查看,看是否有其他路徑的jdk版本存在。

4、查看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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM