1、查看當(dāng)前可用的所有環(huán)境變量(=系統(tǒng)變量+用戶變量)
set
查看某個(gè)環(huán)境變量,如PATH
set PATH
添加環(huán)境變量,如xxx=aa
set xxx=aa
將環(huán)境變量(如xxx)的值置為空
set xxx=
在某個(gè)環(huán)境變量(如PATH)后添加新的值(如d:\xxx)
set PATH=%PATH%;d:\xxx
[注]:以命令行方式對(duì)環(huán)境變量的操作只對(duì)當(dāng)前窗口的應(yīng)用有效!
2、Windows下JAVA用到的環(huán)境變量主要有3個(gè):JAVA_HOME、CLASSPATH、PATH。
1)JAVA_HOME指向的是JDK的安裝路徑,如x:\ j2sdk1.4.2,在這路徑下你應(yīng)該能夠找到bin、lib等目錄。設(shè)置方法:JAVA_HOME=c:\ j2sdk1.4.2
2)PATH變量的作用
java程序在運(yùn)行時(shí)首先在path變量所定義的路徑去找java.exe,并以最先找到的為準(zhǔn),如果安裝完j2sdk后不加設(shè)置,一般是C:\WINDOWS\system32目錄。
j2sdk1.4(還有其它java開發(fā)工具如jbuilder8)在安裝后會(huì)將java.exe拷貝到C:\WINDOWS\system32目錄下,當(dāng)執(zhí)行java.exe時(shí),需要裝載這個(gè)SDK下的一些文件。
如j2sdk1.4在安裝完成后,C:\WINDOWS\system32下的java.exe在運(yùn)行時(shí)會(huì)在C:\Program File\java\目錄下裝載必需的一些文件。但安裝j2sdk后一般會(huì)在PATH變量的最前面設(shè)置C:\ j2sdk1.4.2 \bin。
當(dāng)先安裝j2sdk1.4.2,后安裝jbuilder8等開發(fā)工具時(shí),由于jbuilder8的java.exe在拷貝到C:\WINDOWS\system32時(shí)可能覆蓋了j2sdk1.4.2的java.exe,那么這時(shí)在運(yùn)行的java.exe會(huì)到j(luò)builder8所在的目錄去裝載必需的一些文件。
3)CLASSPATH環(huán)境變量的作用
告訴類裝載器到哪里去尋找第三方提供的類和用戶定義的類。也可用使用JVM命令行參數(shù)-classpath分別為應(yīng)用程序指定類路徑,在-classpath中指定的類路徑覆蓋CLASSPATH環(huán)境變量中指定的值。
3、當(dāng)機(jī)器內(nèi)裝有多個(gè)SDK版本時(shí),如何查看所用的是哪個(gè)SDK?
java -verbose
在出現(xiàn)的屏幕信息中可以看出系統(tǒng)裝載的是哪個(gè)目錄下的文件。
4、Windows OS下設(shè)置PATH的方法
〔系統(tǒng)〕->〔環(huán)境〕-> 〔高級(jí)〕,在PATH變量的文本框中的最前面輸入C:\ j2sdk1.4.2\bin
或在命令行窗口中執(zhí)行 set path=c:\j2sdk1.4.2\bin;%path%; 這樣在命令行窗口的任一路徑下都可以執(zhí)行java.exe程序了。或設(shè)置PATH=%JAVA_HOME%\bin;%PATH%
5、對(duì)于CLASSPATH環(huán)境變量的設(shè)置方法要加倍小心,是因?yàn)橐院竽愠霈F(xiàn)的莫名其妙80%以上的怪問題都可能是由于CLASSPATH設(shè)置不對(duì)引起的
CLASSPATH=.\;%JAVA_HOME%\lib\tools.jar
首先要注意的是最前面的".\;",——句點(diǎn)反斜杠分號(hào)。這個(gè)是告訴JDK,搜索CLASS時(shí)先查找當(dāng)前目錄的CLASS文件。
【Troubleshooting】
編譯會(huì)出現(xiàn)以下情況,看你是否真得都理解環(huán)境變量的設(shè)置,并能解決它。
[T1] error:java不是一個(gè)可運(yùn)行的程序? 由于沒有設(shè)置環(huán)境變量path
[T2] error:不能打開某個(gè)目錄? 可能是忽視了path環(huán)境變量中的目錄的設(shè)置順序。
[T3] Exception on thread “main” java.lang.DoClassDefFoundError:Test?沒有設(shè)置classpath的路徑。