Java環(huán)境變量問(wèn)題排錯(cuò)小結(jié)
Posted on 2006-05-25 10:56 繁星滿空 閱讀(2062) 評(píng)論(4) 編輯 收藏 所屬分類: Java
??剛學(xué)java那會(huì),老師教我們編譯、運(yùn)行java代碼,老師說(shuō):“同學(xué)們,編譯java代碼,我們要用javac這個(gè)命令,而要用javac這個(gè)命令,我們要設(shè)置環(huán)境變量?!碑?dāng)時(shí)主流的操作系統(tǒng)是windows98,修改環(huán)境變量必須要修改AUTOEXEC.BAT這個(gè)文件,而一旦修改錯(cuò)了將導(dǎo)致系統(tǒng)無(wú)法正常啟動(dòng),實(shí)在是嚇煞我們這些小菜鳥。等后來(lái)的Win2k及WinXP普及后,修改環(huán)境變量方便多了,直接右鍵點(diǎn)擊我的電腦,在高級(jí)選項(xiàng)里就可以編輯環(huán)境變量。
在windows平臺(tái)下,PATH變量可以讓系統(tǒng)找到相應(yīng)的可執(zhí)行程序,在命令行下敲入一個(gè)命令,如果在當(dāng)前目錄沒(méi)有相應(yīng)的可執(zhí)行程序,系統(tǒng)會(huì)從PATH里指定的目錄中從前到后的尋找那些目錄下是否有相應(yīng)的可執(zhí)行程序,所以為了在任何目錄下都可以編譯、運(yùn)行java代碼,我們將目錄%JAVA_HOME%\bin加入到PATH里面。注意以下操作:
1.?????? 新建環(huán)境變量JAVA_HOME,并指定為JDK的安裝目錄
一些Java應(yīng)用需要指定這個(gè)變量,否則程序無(wú)法啟動(dòng)。
2.?????? 把%JAVA_HOME%\bin加入到PATH里面,以“;”分隔
使系統(tǒng)可以找到j(luò)avac、java等可執(zhí)行程序。
3.??新建環(huán)境變量CLASSPATH,加入“.; %JAVA_HOME%\lib\dt.jar; %JAVA_HOME%\lib\tool.jar”,“.”表示為當(dāng)前目錄
CLASSPATH是jvm搜索的類路徑,使其能找到相應(yīng)的類文件或JAR文件。
4.?????? 在命令行下運(yùn)行java –version,可以查看當(dāng)前jdk的版本
5.?????? 在命令行下查看set PATH,可以查看環(huán)境變量PATH的值
6.?????? 在命令行下查看set CLASSPATH,可以查看環(huán)境變量CLASSPATH的值?
?場(chǎng)景一:哎呀,我的Eclipse啟動(dòng)不了,什么都沒(méi)動(dòng)呀,就是剛裝了oracle客戶端,開始排查,在命令行下運(yùn)行java –version,發(fā)現(xiàn)當(dāng)前jvm的版本是1.3.1,原來(lái)是oracle安裝程序修改了環(huán)境變量PATH,把其自帶的低版本的jdk放在最前面,而Eclipse必須在jdk1.4以上運(yùn)行,把oracle安裝程序私自添加的內(nèi)容去掉后,Eclipse就可以正常啟動(dòng)了。?
?場(chǎng)景二:平時(shí)編寫一些簡(jiǎn)單的測(cè)試代碼時(shí),我都是采用JDK+Editplus的方式,今天寫一些測(cè)試代碼后,編譯沒(méi)問(wèn)題,運(yùn)行時(shí)報(bào)錯(cuò),找不到類文件,郁悶,平時(shí)都是可以的呀,開始排查,jdk版本沒(méi)問(wèn)題,編譯可以生成類文件,Editplus的設(shè)置也沒(méi)問(wèn)題,拋開Editplus,我直接在命令行下運(yùn)行,還是報(bào)找不到類文件,查看set CLASSPATH,發(fā)現(xiàn)是一個(gè)莫名其妙的路徑,并且沒(méi)有“.”(表示當(dāng)前路徑),重新修改成上面提到的方式,利用Editplus可以正常運(yùn)行,啊,輸了一口氣。再回頭看那個(gè)莫名其妙的路徑,竟指向剛裝的QuickTime的某個(gè)路徑,Apple還真是讓人不省心呀。
在windows平臺(tái)下,PATH變量可以讓系統(tǒng)找到相應(yīng)的可執(zhí)行程序,在命令行下敲入一個(gè)命令,如果在當(dāng)前目錄沒(méi)有相應(yīng)的可執(zhí)行程序,系統(tǒng)會(huì)從PATH里指定的目錄中從前到后的尋找那些目錄下是否有相應(yīng)的可執(zhí)行程序,所以為了在任何目錄下都可以編譯、運(yùn)行java代碼,我們將目錄%JAVA_HOME%\bin加入到PATH里面。注意以下操作:
1.?????? 新建環(huán)境變量JAVA_HOME,并指定為JDK的安裝目錄
一些Java應(yīng)用需要指定這個(gè)變量,否則程序無(wú)法啟動(dòng)。
2.?????? 把%JAVA_HOME%\bin加入到PATH里面,以“;”分隔
使系統(tǒng)可以找到j(luò)avac、java等可執(zhí)行程序。
3.??新建環(huán)境變量CLASSPATH,加入“.; %JAVA_HOME%\lib\dt.jar; %JAVA_HOME%\lib\tool.jar”,“.”表示為當(dāng)前目錄
CLASSPATH是jvm搜索的類路徑,使其能找到相應(yīng)的類文件或JAR文件。
4.?????? 在命令行下運(yùn)行java –version,可以查看當(dāng)前jdk的版本
5.?????? 在命令行下查看set PATH,可以查看環(huán)境變量PATH的值
6.?????? 在命令行下查看set CLASSPATH,可以查看環(huán)境變量CLASSPATH的值?
?場(chǎng)景一:哎呀,我的Eclipse啟動(dòng)不了,什么都沒(méi)動(dòng)呀,就是剛裝了oracle客戶端,開始排查,在命令行下運(yùn)行java –version,發(fā)現(xiàn)當(dāng)前jvm的版本是1.3.1,原來(lái)是oracle安裝程序修改了環(huán)境變量PATH,把其自帶的低版本的jdk放在最前面,而Eclipse必須在jdk1.4以上運(yùn)行,把oracle安裝程序私自添加的內(nèi)容去掉后,Eclipse就可以正常啟動(dòng)了。?
?場(chǎng)景二:平時(shí)編寫一些簡(jiǎn)單的測(cè)試代碼時(shí),我都是采用JDK+Editplus的方式,今天寫一些測(cè)試代碼后,編譯沒(méi)問(wèn)題,運(yùn)行時(shí)報(bào)錯(cuò),找不到類文件,郁悶,平時(shí)都是可以的呀,開始排查,jdk版本沒(méi)問(wèn)題,編譯可以生成類文件,Editplus的設(shè)置也沒(méi)問(wèn)題,拋開Editplus,我直接在命令行下運(yùn)行,還是報(bào)找不到類文件,查看set CLASSPATH,發(fā)現(xiàn)是一個(gè)莫名其妙的路徑,并且沒(méi)有“.”(表示當(dāng)前路徑),重新修改成上面提到的方式,利用Editplus可以正常運(yùn)行,啊,輸了一口氣。再回頭看那個(gè)莫名其妙的路徑,竟指向剛裝的QuickTime的某個(gè)路徑,Apple還真是讓人不省心呀。