從命令列執行已編譯的 Java 類別 (.class) 有時會遇到錯誤。這類常見問題之一是「java.lang.NoClassDefFoundError:[類別名稱]」錯誤。當 Java 運行時無法在類別路徑中找到必要的類別定義時,就會發生這種情況。
目前目錄中存在Java 類別Echo.class,且使用者嘗試執行它使用:
java Echo "hello"
但是,上述命令導致錯誤訊息,指示未找到Echo 類別。
要解決此問題,請執行以下操作:必須在類別路徑中指定目前目錄,這可以使用java 命令中的-cp 選項來實現:
java -cp . Echo "hello"
或者,可以設定CLASSPATH 環境變數以包含目前目錄:
SET CLASSPATH=%CLASSPATH;. java Echo "hello"
解決NoClassDefFoundError 後,可能會出現以下錯誤:
Exception in thread "main" java.lang.NoSuchMethodError: main
如果Echo 類別不包含public static void main(String [] args) 方法。若要解決此問題,請確保該類別具有符合主類別模式的 main 方法。
以上是為什麼從命令列執行 Java 時出現「java.lang.NoClassDefFoundError」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!