上一篇文章中,我們介紹了如何安裝工具包,那么是不是安裝完JDK以后就可以編寫代碼,準(zhǔn)備編譯運(yùn)行了呢?別著急,先和北京北大青鳥學(xué)校老師一起檢查一下吧。
點(diǎn)擊操作系統(tǒng)桌面上左下角的‘開始’菜單,選擇‘運(yùn)行’,然后在打開對(duì)話框里輸入CMD,進(jìn)入命令提示符窗口,也叫DOS界面,F(xiàn)在大家在窗口里應(yīng)該看到提示符:C:\Documents and Settings\Administrator>
下面讓我們在提示符后面敲上這樣一個(gè)命令:Java,出現(xiàn)了這樣的提示了嗎?
Usage: Java [-options] class [args...]
(to execute a class)
or Java [-options] -jar jarfile [args...]
(to execute a jar file)
……
這是Java命令的幫助信息,如果有,那么成功一半了。接下來,在命令提示符處敲:JavaC。你看到的也許會(huì)是這樣:‘Javac’不是內(nèi)部或外部命令,也不是可運(yùn)行的程序或批處理文件。為什么出現(xiàn)這樣的情況呢?
北京北大青鳥學(xué)校教員解釋:這是因?yàn)槲覀兊牟僮飨到y(tǒng)在執(zhí)行一個(gè)命令時(shí),首先會(huì)到當(dāng)前目錄下去查找這個(gè)命令文件。如果在當(dāng)前目錄下找不到,他就會(huì)按照系統(tǒng)變量PATH所指示的多條路徑里去搜索,直到找到為止。如果在這兩個(gè)地方都找不到他就會(huì)報(bào)上面大家看到的錯(cuò)誤。
在C:\Documents and Settings\Administrator這個(gè)路徑下我們當(dāng)然找不到JavaC命令。我們的JDK不是安裝在C盤根目錄下嗎?而我們的JavaC、Java命令則在JDK目錄下的BIN文件夾里,這個(gè)夾子里還有許多其他寶貝命令。
怎樣才能讓操作系統(tǒng)找到JavaC命令呢?很簡單!我們需要修改一下系統(tǒng)變量PATH,這樣就不用每次要運(yùn)行這個(gè)命令時(shí)都得跑到C:\j2sdk1.4.2_02\bin這個(gè)路徑下面去了。
當(dāng)我們在PATH變量里加了一條路徑:C:\j2sdk1.4.2_02\bin以后,再到命令提 示符狀態(tài)下輸入JavaC,就會(huì)出現(xiàn)幫助提示了。這就說明我們可以開始寫Java程序了。讓我們寫一個(gè)Hello.Java測試一下吧,在E:\LESSON1這個(gè)文件夾下創(chuàng)建 v1 了一個(gè)文本文件,輸入如下一段代碼,并且將之保存為Hello.Java。
public class Hello
{
public static void main(String args[])
{
System.out.println("Hello World!");
}
}
現(xiàn)在我們又回到命令提示符狀態(tài)下。在提示符處輸入:JavaC Hello.Java,命令又出錯(cuò)了。為什么?因?yàn)槲募墙ㄔ贓:\LESSON1下面,而我們的當(dāng)前目錄卻不是它。 在提示符處敲入:‘E:’,然后再敲:‘cd lesson1’,進(jìn)入Java文件所在的那個(gè)目錄后,現(xiàn)在再敲JavaC Hello.Java,文件成功編譯。 注意成功編譯后會(huì)在當(dāng)前目錄下生出一個(gè)名叫:Hello.class的字節(jié)碼文件。但是屏幕上沒有任何提示。
再試著運(yùn)行一下‘Java Hello‘這個(gè)命令,可以運(yùn)行嗎?當(dāng)然不行。因?yàn)槲覀兊淖止?jié)碼文件是在Java虛擬機(jī)里運(yùn)行的,所有關(guān)于虛擬機(jī)要使用的字節(jié)碼文件的路徑必須在一個(gè)叫做CLASSPATH的操作系統(tǒng)變量里找得到。否則我們的虛擬機(jī)就無法找到這個(gè)字節(jié)碼文件,從而也就無從執(zhí)行了。
先運(yùn)行如下命令:set classpath=%classpath%;E:\lesson1,然后再運(yùn)行 Java Hello 這個(gè)命令。屏幕上出現(xiàn):Hello world! 不過當(dāng)我們重新啟動(dòng)一個(gè)命令提示符窗口再運(yùn)行這個(gè)Java文件時(shí),屏幕提示:Exception in thread "main" Java.lang.NoClassDefFoundError: Hello。還是老問題,虛擬機(jī)又找不到字節(jié)碼文件了。
其實(shí)我們在DOS窗口中設(shè)置的系統(tǒng)變量只對(duì)當(dāng)前窗口有效。要想讓我們的變量設(shè)置對(duì)任何一個(gè)DOS窗口都有效,還得到桌面上去做。好了,這篇內(nèi)容介紹到此,在下一篇文章中,我們將繼續(xù)講述CLASSPATH這個(gè)Java環(huán)境變量的設(shè)置。 (北京北大青鳥學(xué)校)