我有一個項目,我一直在Ubuntu 12.04上的Eclipse 3.7.2中開發。最近,我重新調整了包含在包之間移動類的類層次結構。我沒有移動我的主類(「ob3.converter.Converter」),其中包含我的public static void main(String[] args)
方法。破碎的Eclipse項目 - classNotFoundException - 找不到主類
現在,當我嘗試運行它,我得到:
Exception in thread "main" java.lang.NoClassDefFoundError: ob3/converter/Converter
Caused by: java.lang.ClassNotFoundException: ob3.converter.Converter
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: ob3.converter.Converter. Program will exit.
我永遠只能果然奏效(在Java中)與Eclipse,它處理所有的開銷,我 - 所以我有一點了解這個錯誤或者可能導致它的原因。我已經瀏覽了我的Run Configuration/Classpath等,但不知道要尋找什麼,這是徒勞的。
有人能指出我正確的方向嗎?我已經搜索/搜索,大多數事情都是關於清單文件的,但是我一直無法在任何地方找到它。我的工作區文件夾只包含我的源文件。
我可以驗證:
- 類 「轉換器」 包 「ob3.converter」 中存在。
- 「Converter」類包含一個
public static void main(String[] args)
方法。 - 項目屬性中Java Build Path頁面的「Source」選項卡顯示「converter/lib」和「converter/src」 - 這兩個文件夾包含我的整個項目源。
- 運行配置/ JRE中使用的JRE是「java-6-openjdk-amd64」。
- 在運行配置Classpath選項卡如下所示:
- 自舉條目:
- JRE系統庫【JAVA-6的OpenJDK-AMD64]
- 用戶條目:
- 轉換器(默認類路徑)
- 轉換器
- 轉換器(默認類路徑)
- 自舉條目:
- 到Converter.java的路徑沒有改變,因爲我上次成功運行它。
任何幫助非常感謝!
如果您可以發佈eclipse的屏幕截圖,擴展包結構,並在編輯器中打開Converter類。您的項目是否在包資源管理器中顯示任何錯誤? 「問題」視圖中的任何錯誤? – devang
您是否嘗試過處理「混淆」Eclipse工作區的標準技巧?刷新(F5)工作區。重新啓動Eclipse。關閉/打開項目。刪除項目(不要檢查從磁盤刪除!!!)並重新導入它。 –
當你說跑步時,我假設你點擊頂部的跑步圖標。嘗試在包視圖中右鍵單擊Converter類並選擇運行爲 - > java應用程序。 –