開始學習java--設置Path與Classpath(《Java學習筆記》)[摘錄]

該內容同樣適用於JDK 6
2.2 設置Path與Classpath
對於習慣圖形化接口操作的初學者而言,在命令符模式下執行程序是一件陌生的事,也因此不瞭解Path路徑設置的方法與作用,而Java執行的平臺也有自己的一套路徑規則來尋找編寫好的Java類,也就是所謂的Classpath設置。本節將介紹如何進行這些相關的設置。
2.2.1 設置Path
在安裝好JDK程序之後,在JDK安裝目錄(假設是C:\Program Files\Java\jdk1.5.0_06)下的bin目錄中,會提供一些開發Java程序時必備的工具程序。對於Java的初學者,建議從命令符模式(在Windows 2000/XP下稱之爲命令提示符)下來操作這些工具程序。您可以在Windows 2000/XP的“開始”菜單中選擇“運行”,輸入“cmd”命令來打開命令符模式。
雖然您知道JDK的工具程序是位於bin目錄下,但您的操作系統並不知道如何找到這些工具程序。所以當您輸入javac嘗試執行編譯程序時,命令符模式下會告訴您找不到javac工具程序,如圖2-8所示。

圖2-8 出現這個信息表示找不到指定的工具程序
您必須告訴操作系統,應該到哪些目錄下嘗試找到您所想使用的工具程序。有幾個方法可以進行這項設置,最簡便的方法就是設置系統變量中的Path環境變量。在Windows 2000/XP下可以選擇桌面上的“我的電腦”並單擊鼠標右鍵,選擇“屬性”後切換至“高級”頁面,並單擊下方的“環境變量”按鈕,在“環境變量”對話框中編輯Path變量,如圖2-9所示。

圖2-9 選擇Path變量並單擊“編輯”按鈕以進行路徑設置
如圖2-10所示,在Path變量的“編輯系統變量”對話框中,在“變量值”文本框中先輸入一個“;”,接着輸入JDK bin目錄的路徑(這裏假設是C:\Program Files\Java\jdk1.5.0_06\bin),然後單擊“確定”按鈕即可完成設置。

圖2-10 在Path變量中加入JDK的bin目錄路徑
設置Path變量之後,要重新打開一個命令符模式才能重新讀入Path變量內容,接着如果執行javac程序,應該可以看到圖2-11所示的畫面。

圖2-11 若設置Path變量成功,就可以找到指定的工具程序
也可以在命令符模式下執行以下的命令,直接設置目前的環境變量,包括Path變量(這個設置在下次重新打開命令符模式時就不再有效):
set Path=%Path%;C:\Program Files\Java\jdk1.5.0_06\bin由於以上介紹的Path設置都是尋找JDK安裝目錄下的bin目錄,所以操作系統會搜索JDK安裝目錄下的工具程序。這樣當執行java程序時,默認會使用JDK所附的JRE(即C:\Program Files\Java\jdk1.5.0_06\jre),而不是公用的JRE(即C:\Program Files\Java\jre1.5.0_06\)。
簡單地說,操作系統會嘗試在指定的Path變量中尋找指定的工具程序。當輸入javac命令時,由於Path變量中有設置JDK的bin目錄的路徑,操作系統就可以根據這個信息來找到javac工具程序。
2.2.2 設置Classpath
Java執行環境本身就是一個平臺,執行於這個平臺上的程序是已編譯完成的Java程序(後面會介紹到Java程序編譯完成之後,會以.class文件存在)。如果將Java執行環境比喻爲操作系統,如果設置Path變量是爲了讓操作系統找到指定的工具程序(以Windows來說就是找到.exe文件),則設置Classpath的目的就是讓Java執行環境找到指定的Java程序(也就是.class文件)。
有幾個方法可以設置Classpath,最簡單的方法是在系統變量中新增Classpath環境變量。在圖2-9中的“系統變量”下單擊“新建”按鈕,在“變量名”文本框中輸入Classpath,在“變量值”文本框中輸入Java類文件的位置。例如可以輸入:CLASSPATH=. ; D:\java\lib; C:\java\MyLib 。這裏注意,路徑中不要包含到包的名字部分,因爲包(在windows操作系統下)對應到目錄結構,例如包 Package com.pwcrab 其實就是有一個com\pwcrab的相對路徑存在。如果該包在C:\java\MyLib 下,完整的路徑是C:\java\MyLib\com\pwcrab ,但是設置CLASSPATH時,務必不要包含包部分的路徑。還有一點請注意,CLASSPATH中的 “.”表示是在當前目錄下先尋找。
但是,在使用JAR文件時,有一些例外,必須在類路徑中將JAR文件的實際名稱寫的完整清楚,而不僅僅是他們的目錄位置,例如“.;C:\Program Files\Java\jdk1.5.0_06\lib\tools.jar; C:\Program Files\Java\jdk1.5.0_06\lib\rt.jar”(jar文件是zip壓縮格式,其中包括.class文件和jar中的Classpath設置),每一路徑中間必須以;作爲分隔。
事實上JDK 5.0默認就會到當前工作目錄(上面的.設置),以及JDK的lib目錄(這裏假設是C:\Program Files\Java\jdk1.5.0_06\lib)中尋找Java程序(*.class, *.jar)。所以如果Java程序是在這兩個目錄中,則不必設置Classpath變量也可以找得到,將來如果Java程序不是放置在這兩個目錄時,則可以按上述設置Classpath。但是,設置是千萬別忘了設置當前目錄,即CLASSPATH中的 “.”,否則一旦設置了classpath,即使在java程序的當前路徑下執行java.exe,如果在classpath中沒有設置“.”(當前路徑),那麼java.exe執行java程序也會失敗。如:(Test.class就是c:\javatest\目錄下,但是c:\javatest\目錄不在classpath中)
C:\javatest>java Test
Exception in thread "main" java.lang.NoClassDefFoundError: Test
如果所使用的JDK工具程序具有Classpath命令選項,則可以在執行工具程序時一併指定Classpath。例如:
javac -classpath classpath1;classpath3...其中classpath1、classpath 2是實際要指定的路徑。也可以在命令符模式下執行以下的命令,直接設置目前的環境變量,包括Classpath變量(這個設置在下次重新打開命令符模式時就不再有效):
set CLASSPATH=%CLASSPATH%;classpath1;classpath3...總而言之,設置Classpath的目的,在於告訴Java執行環境,在哪些目錄下可以找到您所要執行的Java程序。


本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/zgzhjj001/archive/2008/04/04/2250335.aspx
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章