1. 程式人生 > >設定Java環境變數的幾種方法

設定Java環境變數的幾種方法

JAVA中常用需要設定的三個環境變數:
JAVA_HOME、CLASSPATH、PATH
(一)配置環境變數:(相對路徑)
1.JAVA_HOME=x:\jdk1.6.0JAVA_HOME
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;
(三)
把下面的程式碼用批處理執行,對設定環境變數會很方便的
@echooff
IFEXIST%1\bin\java.exe(
rem如輸入正確的Java2SDK安裝目錄,開始設定環境變數
@setxJAVA_HOME%1
@setxpath%path%;%JAVA_HOME%\bin
@setxclasspath%classpath%;.
@setxclasspath%classpath%;%JAVA_HOME%\lib\tools.jar
@setxclasspath%classpath%;%JAVA_HOME%\lib\dt.jar
@setxclasspath%classpath%;%JAVA_HOME%\jre\lib\rt.jar
@echoon
@echoJava2SDK環境引數設定完畢,正常退出。
正在裝載資料……
)ELSE(
IF"%1"==""(
rem如沒有提供安裝目錄,提示之後退出
@echoon
@echo沒有提供Java2SDK的安裝目錄,不做任何設定,現在退出環境變數設定。
)ELSE(
rem如果提供非空的安裝目錄但沒有bin\java.exe,則指定的目錄為錯誤的目錄
@echoon
@echo非法的Java2SDK的安裝目錄,不做任何設定,現在退出環境變數設定。
)
)


(四)其它做法參考
cmd命令設定
SETPATH=c:\j2sdk1.4.0\bin
說明:
JAVA_HOME:軟體靠這個變數找到jdk的安裝目錄,如果不設這個變數的話,這些軟體包很可能找不到javac.exe在哪裡。比如ant就需要通過這個環境變數來確定javac.exe的路徑來執行compiletask。這個環境變數的值就是你的jdk安裝目錄。如果你的jdk裝在c:\jdk1.42,那麼“c:\jdk1.42”就是JAVA_HOME的值。
CLASSPATH:類路徑,告訴Java應用程式去哪裡查詢第三方和自定義類--即不是Java擴充套件或Java平臺一部分的類。在JDK1.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下,分隔符是冒號(:)。