3-3 執行 Java 程式

Java 在將 Java 原始碼編譯為位元碼之後,接下來您可以開始執行 Java 程式了,要執行 Java 程式必須使用 java 工具程式,並指定所要載入的類別,在這個小節中將告訴您:

  • 使用 java 工具程式
  • 看懂執行錯誤時的訊息

• 使用 java 工具程式

假設您編譯完成的類別是放置在 C:\workspace,類別的檔案名稱是 HelloWorld.class,則您可以如圖 3-14 載入該類別並執行:

圖3-14、使用 java 工具程式

程式成功執行了您所指定的動作:顯示"Hello!World!"。注意的是,使用 java 工具程式時只要指定類別名稱即可,不需要加上*.class 副檔名

使用 java 工具程式時,同樣也可以使用-verbose 選項,來看看 java 工具程式在執行時進行了哪些動作,這是進階議題,初學者尚不用深入了解。

這邊有個問題值得討論,您所使用的 java 工具程式使用了哪個 Java 執行環境?是 JDK 本身附帶的 JRE?還是公用JRE?

如果您將 JDK 的 bin 資料夾之路徑設定於 Path 變數時,是放在最前面,則執行 java 時,作業系統會依 Path 變數中設定的路徑順序來找尋目標程式,所以啟動的 java 工具程式會執行 JDK 自己附帶的 JRE。

重點提示

當您的系統中不只安裝一套 JRE 時,了解所使用的是哪一個 java 工具程式,以及是所啟用的是哪一套 JRE是很重要的。

• 看懂執行錯誤時的訊息

假設您在之前的介紹的操作過程中,不小心犯了某些錯誤,那麼您可能無法順利執行 Java 程式,當 Java 執行環境發現執行過程中有錯誤時,會回報相關的錯誤訊息。

java.lang.NoClassDefFoundError

java 工具程式找不到您所指定的類別,有幾個可能的原因,您可能指定了錯誤的類別名稱,或是您所指定的類別檔案不存在。

重點提示

更具體來說,java 工具程式無法在類別路徑( Class path )中找到您所指定的類別,關於類別路徑的設定會在下一個小節進行說明。

java.lan.NosuchMethodError: main

您所指定的類別沒有 main 方法,或者是 main 方法撰寫錯誤,要注意程式執行的進入點(Entry point)main 方法必須是:public static void main(String[] args)