windows xp下配置JDK環境變數:
1.安裝JDK,安裝過程中可以自訂安裝目錄等資訊,例如我們選擇安裝目錄為D:/java/jdk1.5.0_08;
2.安裝完成後,右擊“我的電腦”,點擊“屬性”;
3.選擇“進階”選項卡,點擊“環境變數”;
4.在“系統變數”中,設定3項屬性,JAVA_HOME,PATH,CLASSPATH(大小寫無所謂),若已存在則點擊“編輯”,不存在則點擊“建立”;
5.JAVA_HOME指明JDK安裝路徑,就是剛才安裝時所選擇的路徑D:/java/jdk1.5.0_08,此路徑下包括lib,bin,jre等檔案夾(此變數最好設定,因為以後運行tomcat,eclipse等都需要依*此變數);
Path使得系統可以在任何路徑下識別java命令,設為:
%JAVA_HOME%/bin;%JAVA_HOME%/jre/bin
CLASSPATH為java載入類(class or lib)路徑,只有類在classpath中,java命令才能識別,設為:
.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar (要加.表示當前路徑)
%JAVA_HOME%就是引用前面指定的JAVA_HOME;
6.“開始”->;“運行”,鍵入“cmd”;
7.鍵入命令“java -version”,“java”,“javac”幾個命令,出現畫面,說明環境變數配置成功;
8.好了,打完收工。下面開始你的第一個java程式吧。
下面講講java幾個環境變數的含義和linux下的配置方法:
通常,我們需要設定三個環境變數:JAVA_HOME、PATH 和 CLASSPATH。
JAVA_HOME:該環境變數的值就是 Java 所在的目錄,一些 Java 版的軟體和一些 Java 的工具需要用到該變數,設定 PATH 和 CLASSPATH 的時候,也可以使用該變數以方便設定。
PATH:指定一個路徑列表,用於搜尋可執行檔的。執行一個可執行檔時,如果該檔案不能在當前路徑下找到,則依次尋找 PATH 中的每一個路徑,直至找到。或者找完 PATH 中的路徑也不能找到,則報錯。Java 的編譯命令 (javac),執行命令 (java) 和一些工具命令 (javadoc, jdb 等) 都在其安裝路徑下的 bin 目錄中。因此我們應該將該路徑添加到 PATH 變數中。
CLASSPATH:也指定一個路徑列表,是用於搜尋 Java 編譯或者運行時需要用到的類。在 CLASSPATH 列表中除了可以包含路徑外,還可以包含 .jar 檔案。Java 尋找類時會把這個 .jar 檔案當作一個目錄來進行尋找。通常,我們需要把 JDK 安裝路徑下的 jre/lib/rt.jar (Linux: jre/lib/rt.jar) 包含在 CLASSPATH 中。
PATH 和 CLASSPATH 都指定路徑列表,列表中的各項 (即各個路徑) 之間使用分隔字元分隔。在 Windows 下,分隔字元是分號 (;),而在 Linux 下,分隔字元是冒號 (:)。
下面分別說明三個環境變數在 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
set PATH=%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 裡進行設定,如
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=$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,運行成功。