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