Java 環境變量配置詳細講解

一、Windows平臺

1.安裝JDK,安裝過程中可以自定義安裝目錄等信息,例如我們選擇安裝目錄為D:\Java\jdk1.5.0_07;

2.安裝完成后,右擊“我的電腦”,點擊“屬性”;

3.選擇“高級”選項卡,點擊“環境變量”;

4.在“系統變量”中,設置3項屬性,JAVA_HOME, PATH, CLASSPATH(大小寫無所謂),若已存在則點擊“編輯”,不存在則點擊“新建”。

5.JAVA_HOME指明JDK安裝路徑,就是剛才安裝時所選擇的路徑D:\Java\jdk1.5.0_07,此路徑下包括lib,bin,jre等文件夾(此變量最好設置,因為以后運行tomcat,eclipse等都需要依*此變量)。

Path使得系統可以在任何路徑下識別java命令,設為:

Path:%JAVA_HOME%\bin;

CLASSPATH為java加載類(class

or lib)路徑,只有類在classpath中,java命令才能識別,設為:

classpath:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar(要加.表示當前路徑)

%JAVA_HOME%就是引用前面指定的JAVA_HOME(D:\java\jdk1.5.0_08);

Tomcat按照路徑講解((假定你的tomcat安裝在d:\tomcat):):

CATALINA_HOME=D:\Tomcat6.0;

CATALINA_BASE=D:\Tomcat 6.0;

6.“開始”->;“運行”,鍵入“cmd”;

7.鍵入命令“java

-version”,“java”,“javac”幾個命令,出現畫面,說明環境變量配置成功;

二、Linux平臺

以Ubuntu為例。

(1)根據當前操作系統的版本選擇下載jdk安裝包。

(2)將準備好的安裝包放到特定目錄下。

sudocp /home/chj/jdk-8u101-linux-i586.gz /opt/(注意64位的Ubuntu需要安裝64位的Java開發包)

(3)輸入指令解壓。

sudocd /opt

sudotar –xf jdk-8u101-linux-i586.gz

(4)添加環境變量。

1.界面版Linux:

sudogedit /etc/environment

設置環境變量如下格式:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/jdk1.8.0_101/bin"

JAVA_HOME="/opt/jdk1.8.0_101"

JRE_HOME=${JAVA_HOME}/jre

CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

應用環境變量:

sudosource /etc/environment

2.服務器版Linux:

sudo

vim /etc/profile (如果不能啟動vim,可以使用apt-get

install vim安裝vim)

添加環境變量設置:

#setjava environment

exportJAVA_HOME=/opt/jdk1.8.0_73

exportJRE_HOME=${JAVA_HOME}/jre

exportCLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

exportPATH=${JAVA_HOME}/bin:$PATH

配置默認JDK:

sudoupdate-alternatives --install /usr/bin/java java /opt/jdk1.8.0_73/bin/java 300

sudoupdate-alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_73/bin/javac300

sudoupdate-alternatives --config java

應用環境變量:

sudosource /etc/ profile

(5)檢查安裝是否成功。

輸入java –version,javac,java等指令,觀察系統配置的情況。

三、批處理實現環境變量設置

下面分別說明三個環境變量在Windows和Linux下如何設置,不過在此之前,我們需要做個假設。假設JDK在Windows下的安裝路徑是C:\jdk\,在Linux下的安裝路徑是/usr/local/jdk/。那么,安裝后的JDK至少會包括如下內容:

C:\jdk (/usr/local/jdk)

|-- bin

|-- demo

|-- include

|-- jre

| |-- bin

| `-- lib

`-- lib

*****在Windows下設置

Windows下使用set命令設置環境變量,為了使每一次啟動計算機都設置這些環境變量,應該在系統盤根目錄下的autoexec.bat文件中進行設置,如:

set JAVA_HOME=C:\jdk

setPATH=%JAVA_HOME%\bin;C:\Windows;C:\Windows\Command

set CLASSPATH=%JAVA_HOME%\jre\lib\rt.jar;.

有些版本的Windows不能用%變量名%來替換環境變量的內容,那么就只好直接寫C:\jdk而不是%JAVA_HOME%了。另外,C:\Windows和C:\Windows\Command是Windows會自動加入路徑的,所以可以從設置中去掉。如果在autoexec.bat中已經設置了PATH,那只需要將%JAVA_HOME%\bin加到原來設置PATH的那條語句中就行了。

CLASSPATH也可以根據需要設置或者加入其它的路徑,比如你想把自己寫的一些類放在C:\java中,就可以把C:\java也添加到CLASSPATH中去,set

CLASSPATH=%JAVA_HOME%\jre\lib\rt.jar;C:\java;.。

注意,在CLASSPATH中包含了一個“當前目錄(.)”。包含了該目錄后,就可以到任意目錄下去執行需要用到該目錄下某個類的Java程序,即使該路徑并未包含在CLASSPATH中也可以。原因很簡單:雖然沒有明確的把該路徑包含在CLASSPATH中,但CLASSPATH中的“.”在此時就代表了該路徑,如:

假設在C:\java目錄下有可運行的類HelloJava.class,那么

C:\> set

CLASSPATH=C:\jdk\jre\lib\rt.jar;. //設置CLASSPATH環境變量,注意最后有一個“.”

C:\> cd java //轉到C:\java目錄

C:\java> java

HelloJava //運行HelloJava

Hello, Java. //運行結果

C:\java> _

****在Linux下設置

Linux下使用“變量名=變量值”設置變量,并使用export命令將其導出為環境變量。為了使每一次登錄都自動設置好這些變量,你需要在~/.bash_profile里或者~./bashrc里進行設置,如

exportJAVA_HOME=/usr/local/jdk

exportPATH=$JAVA_HOME/bin:$PATH

exportCLASSPATH=$JAVA_HOME/jre/lib/rt.jar:.

設置PATH時用的$JAVA_HOME是指替換變量JAVA_HOME的值到$JAVA_HOME所在位置。如上句實際就是export PATH=/usr/local/jdk/bin:$PATH。這句中$PATH也是同樣的作用,不過這里的PATH是指以前設置的PATH變量的值,而非本次設置PATH變量的值。

注意,在CLASSPATH中包含了一個“當前目錄(.)”。包含了該目錄后,就可以到任意目錄下去執行需要用到該目錄下某個類的Java程序,即使該路徑并未包含在CLASSPATH中也可以。原因很簡單:雖然沒有明確的把該路徑包含在CLASSPATH中,但CLASSPATH中的“.”在此時就代表了該路徑,例如

假設在/home/fancy/java目錄下有可運行的類HelloJava.class,那么

[fancy@matrix fancy]$

export CLASSPATH=/usr/local/jdk/jre/lib/rt.jar:. //設置CLASSPATH,注意最后的“.”

[fancy@matrix fancy]$

cd ~/java //轉到/home/fancy/java

[fancy@matrix java]$

pwd //顯示當前目錄

/home/fancy/java //當前目錄是/home/fancy/java

[fancy@matrix java]$

java HelloJava //運行HelloJava

Hello, Java //運行結果

[fancy@matrix java]$ _

*****實例分析

只是操作系統不同,略有差別。

兩個例子都提到一個“可運行的類”,它是指包含了public static void main(String[] args)方法的類,這將在下一章HelloJava一節中詳述。例中的CLASSPATH均未包含HelloJava.class所在的目錄(C:\java,

/home/fancy/java),但是均包含了當前目錄(.)。因此轉到包含HelloJava.class的目錄下去執行java HelloJava,在Java尋找到CLASSPATH中的“. (當前目錄,C:\java,

/home/fancy/java)”時,找到了HelloJava.class,運行成功。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容