JAVA中常用需要設定的三個環境變數:
JAVA_HOME、CLASSPATH、PATH
(一) 配置環境變數:(相對路徑)
1.
JAVA_HOME=x:/jdk1.6.0
2.
用%JAVA_HOME%就可以取代:x:/jdk1.6.0這一部分
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/activation.jar:$JAVA_HOME/lib/mail.jar
或
CLASSPATH=./;%JAVA_HOME%/lib/tools.jar;%JAVA_HOME%/lib/dt.jar
3.
PATH=.;%JAVA_HOME%/bin
(二) 配置環境變數:(絕對路徑)
1.
Java_HOME =D:/jdk1.5.0
2.
CLASSPATH =.;D:/jdk1.5.0/lib/tools.jar;D:/jdk1.5.0/jre/lib/rt.jar;
3.
PATH=D:/jdk1.5.0/bin;
(三)
把下面的代碼用批處理執行,對設定環境變數會很方便的
@echo off
IF EXIST %1/bin/java.exe (
rem 如輸入正確的 Java2SDK 安裝目錄,開始設定環境變數
@setx JAVA_HOME %1
@setx path %path%;%JAVA_HOME%/bin
@setx classpath %classpath%;.
@setx classpath %classpath%;%JAVA_HOME%/lib/tools.jar
@setx classpath %classpath%;%JAVA_HOME%/lib/dt.jar
@setx classpath %classpath%;%JAVA_HOME%/jre/lib/rt.jar
@echo on
@echo Java 2 SDK 環境參數設定完畢,正常退出。
) ELSE (
IF "%1"=="" (
rem 如沒有提供安裝目錄,提示之後退出
@echo on
@echo 沒有提供 Java2SDK 的安裝目錄,不做任何設定,現在退出環境變數設定。
) ELSE (
rem 如果提供非空的安裝目錄但沒有bin/java.exe,則指定的目錄為錯誤的目錄
@echo on
@echo 非法的 Java2SDK 的安裝目錄,不做任何設定,現在退出環境變數設定。
)
)
(四)其它做法參考
cmd命令設定
SET PATH = c:/j2sdk1.4.0/bin
說明:
JAVA_HOME:軟體靠這個變數找到jdk的安裝目錄,如果不設這個變數的話,這些軟體包很可能找不到javac.exe在哪裡。比如ant就需要通過這個環境變數來確定javac.exe的路徑來執行compile task。這個環境變數的值就是你的jdk安裝目錄。如果你的jdk裝在c:/jdk1.42,那麼“c:/jdk1.42”就是JAVA_HOME的值。
CLASSPATH:類路徑,告訴 Java 應用程式去哪裡尋找第三方和自訂類 -- 即不是 Java 擴充或 Java 平台一部分的類。在 JDK 1.2 中,JVM 和其他 JDK 工具通過依次搜尋平台庫、庫擴充和類路徑來尋找類(有關搜尋策略的詳細資料,參見如何尋找類)。 多數應用程式的類庫都會充分利用擴充機制。因此,只有想要載入某個類庫 (a) 未位於目前的目錄或其分枝包中 且 (b) 未位於擴充機制所指定的位置時,才需設定類路徑。在 CLASSPATH 列表中除了可以包含路徑外,還可以包含 .jar 檔案。Java 尋找類時會把這個 .jar 檔案當作一個目錄來進行尋找。通常,我們需要把 JDK 安裝路徑下的 jre/lib/rt.jar (Linux: jre/lib/rt.jar) 包含在 CLASSPATH 中。
PATH:指定一個路徑列表,用於搜尋可執行檔的。執行一個可執行檔時,如果該檔案不能在當前路徑下找到,則依次尋找 PATH 中的每一個路徑,直至找到。或者找完 PATH 中的路徑也不能找到,則報錯。Java 的編譯命令 (javac),執行命令 (java) 和一些工具命令 (javadoc, jdb 等) 都在其安裝路徑下的 bin 目錄中。因此我們應該將該路徑添加到 PATH 變數中。
PATH 和 CLASSPATH 都指定路徑列表,列表中的各項 (即各個路徑) 之間使用分隔字元分隔。在 Windows 下,分隔字元是分號 (;),而在 Linux 下,分隔字元是冒號 (:)。