@@ -122,4 +122,69 @@ server 與 client 選項的差別在於所使用的 VM 不同,執行 Java 程
122
122
2.2 設定 Path 與 Classpath
123
123
--------------------------
124
124
125
- 待續 ...
125
+ 對於習慣圖形化介面操作的初學者而言,在文字模式下執行程式是一件陌生的事,也因此不瞭解 Path 路徑設定的方法與作用,而 Java 執行的平台也有自己的一套路徑規則來找尋撰寫好的 Java 類別,也就是所謂的 Classpath 設定,這個小節中將告訴您如何進行這些相關的設定。
126
+
127
+ ## 2.2.1 設定 Path ##
128
+
129
+ 在安裝好 JDK 程式之後,在JDK安裝目錄(假設是 C:\Program Files\Java\jdk1.6.0)下的「bin」目錄,會提供一些開發 Java 程式中必備的工具程式,對於 Java 的初學者我所給的建議是從文字模式(在 Windows 2000/XP 下稱之為命令提示字元)下來操作這些工具程式,您可以在 Windows 2000/XP 的「開始」選單中選擇「執行」,鍵入「cmd」指令來開啟文字模式。
130
+
131
+ 雖然您知道 JDK 的工具程式是位於「bin」目錄下,但您的作業系統並不知道如何找到這些工具程式,所以當您鍵入「javac」嘗試執行編譯程式時,文字模式下會告訴您找不到 javac 工具程式。
132
+
133
+ ![ 出現這個訊息表示找不到指定的工具程式] ( ../images/img02-08.png )
134
+
135
+ 圖 2.8 出現這個訊息表示找不到指定的工具程式
136
+
137
+ 您必須告訴作業系統,應該到哪些目錄下嘗試找到您所想使用的工具程式,有幾個方法可以進行這項設定,最方便的方法就是設定系統變數中的 Path 環境變數,在 Windows 2000/XP 下可以選擇桌面上的「我的電腦」並按滑鼠右鍵,選擇「內容」後初換至「進階」頁面,並按下方的「環境變數」按鈕,在「環境變數」對話方塊中編輯「Path」變數。
138
+
139
+ ![ 選擇 Path 變數並按下「編輯」以進行路徑設定] ( ../images/img02-09.png )
140
+
141
+ 圖 2.9 選擇 Path 變數並按下「編輯」以進行路徑設定
142
+
143
+ 在 Path 變數的「編輯系統變數」的對話方塊中,於「變數值」欄位的最前方輸入 JDK「bin」目錄的路徑(這邊假設是 C:\Program Files\Java\jdk1.6.0\bin),然後緊跟著一個分號,以作為路徑設定的區隔,接著按「確定」即可完成設定。
144
+
145
+ ![ 在 Path 變數中加入 JDK 的 bin 目錄路徑] ( ../images/img02-10.png )
146
+
147
+ 圖 2.10 在 Path 變數中加入 JDK 的 bin 目錄路徑
148
+
149
+ 之所以要將 JDK 的路徑設定放置在 Path 變數設定的最前方,是因為作業系統在搜尋 Path 路徑設定時,會從最前方開始讀取,如果在路徑下找到指定的程式,就會直接執行,當您的系統中安裝有兩個以上的 JDK 時,在 Path 路徑中設定的順序,將決定執行哪個 JDK 下的工具程式。
150
+
151
+ 設定 Path 變數之後,您要重新開啟一個文字模式才能重新讀入 Path 變數內容,接著如果您執行 javac 程式,您應該可以看到圖 2.11 的畫面。
152
+
153
+ ![ 設定 Path 變數成功的話,就可以找到指定的工具程式] ( ../images/img02-11.png )
154
+
155
+ 圖 2.11 設定 Path 變數成功的話,就可以找到指定的工具程式
156
+
157
+ 您也可以在文字模式下執行以下的指令,以直接設定目前的環境變數包括 Path 變數(這個設定在下次重新開啟文字模式時就不再有效):
158
+
159
+ set Path= C:\Program Files\Java\jdk1.6.0\bin;%Path%
160
+
161
+ 事實上,如果您沒有在 Path 變數設定 JDK 的 bin 路徑的話,也可以直接執行 java 工具程式,這是因為 Windows 下安裝 JRE 時,會將 java.exe 複製至「C:\Windows\System32\」路徑之下,而這個路徑在 Path 變數中是預設的路徑。
162
+
163
+ 如果 Path 設定是尋找 JDK 安裝目錄下的「bin」目錄,則作業系統會找尋 JDK 安裝目錄下工具程式,因而當您執行 java 程式時,就會使用 JDK 所附的 JRE(即「C:\Program Files\Java\jdk1.6.0\jre」),而不是公用的 JRE(即 C:\Program Files\Java\jre1.6.0\)。
164
+
165
+ 簡單的說,作業系統會嘗試在您指定的 Path 變數中尋找指定的工具程式,當您鍵入 javac 指令時,由於 Path 變數中有設定 JDK 的「bin」目錄之路徑,作業系統就可以根據這個訊息來找到 javac、java 等工具程式。
166
+
167
+ ## 2.2.2 設定 Classpath ##
168
+
169
+ Java 執行環境本身就是一個平台,執行於這個平台上的程式是已編譯完成的 Java 程式(之後會介紹到 Java 程式編譯完成之後,會以 .class 檔案存在),如果將 Java 執行環境比喻為作業系統的話,如果設定 Path 變數是為了讓作業系統找到指定的工具程式(以 Windows 來說的話就是找到 .exe 檔案),則設定 Classpath 的目的就是為了讓Java執行環境找到指定的 Java 程式(也就是.class檔案)。
170
+
171
+ 有幾個方法可以設定 Classpath,最簡單的方法是在系統變數中新增 Classpath 環境變數,在圖 2.9 中的「系統變數」按下「新增」鈕,在「變數名稱」欄位中輸入「Classpath」,在「變數值」欄位中輸入 Java 類別檔案的位置,例如可以輸入「.;C:\Program Files\Java\jdk1.6.0\ lib\tools.jar; C:\Program Files\Java\jre1.6.0\lib\rt.jar」(jar 檔是 zip 壓縮格式,當中就包括了 .class 檔案以及 jar 中的 Classpath 設定),每一筆資料中間必須以「;」作為分隔。
172
+
173
+ 事實上 JDK 6 預設就會到現行工作目錄(上面的 '.' 設定),以及 JDK 的「lib」目錄(這邊假設是 C:\Program Files\Java\jdk1.6.0\lib)中尋找 Java 程式,所以如果您的 Java 程式是在這兩個目錄中,則不必設定 Classpath 變數也可以找的到,將來如果您的 Java 程式不是放置在這兩個目錄時,則可以如上設定 Classpath。
174
+
175
+ 如果所使用的 JDK 工具程式具有 Classpath 指令選項,則可以在執行工具程式時一併指定 Classpath,例如:
176
+
177
+ javac -classpath classpath1;classpath2 …
178
+
179
+ 其中 classpath1、classpath2 是您實際要指定的路徑;您也可以在文字模式下執行以下的指令,以直接設定目前的環境變數包括 Classpath 變數(這個設定在下次重新開啟文字模式時就不再有效):
180
+
181
+ set CLASSPATH=%CLASSPATH%;classpath1;classpath2...
182
+
183
+ 總而言之,設定 Classpath 的目的,在於告訴 Java 執行環境,哪些目錄下可以找到您所要執行的 Java 程式。一個分辨 Path 與 Classpath 的方式就是:「對於 Windows 作業系統來說,Path 是讓作業系統可以找到 ".exe" 執行檔的存在,而對於 Java 執行環境來說,ClassPath 就是讓 JVM 可以找到 ".class" 執行檔的存在」。
184
+
185
+ > ** 良葛格的話匣子** 在 Design Patterns Elements of Reusable Object-Oriented Software 書中對「框架」作出的解釋是:框架就是一組互相合作的類別組成,它們為特定類型的軟體開發提供了一個可以重複使用的設計。
186
+
187
+ 2.3 第一個 Java 程式
188
+ --------------------
189
+
190
+ 待續 ...
0 commit comments