could not find the main class, Program will exit
(很抱歉,如果你希望能更加清楚地看清圖片或是圖上的文字的話,你可以按住
ctrl
不動,然后向上滾動鼠標的滾輪。要改變回來同理向下滾動即可、)
--------------------------------------------------------------------
今天2011.4.20:
這篇文章是我剛接觸myeclipse的時候寫的,一年過去了,感覺自己成熟了點,這篇文章還是有點不足,所以補上了。
-------------------------------------------------
一段在jcreator中能正常運行的代碼,在myeclipse中
老是出現could not find the main class,program will exit。
這足可以說明代碼沒錯,是程序的問題了。
原因和解決辦法如下:
因為我們使用高版本的JDK編譯的Java class文件試圖在較低版本的JVM上運行,所報的錯誤。 因為,高版本的JDK生成的class文件使用的格式,可能與低版本的JDK的.class文件格式不同。這樣,低版本的JVM無法解釋執行這個.class文件,會拋出Could not find the main class.program will exit不支持的Class版本錯誤。 這個錯誤尤其在JDK5與JDK5之前的版本上表現明顯。因為,JDK5在Java語法上作了不少增強,引入了一些新的.class文件的元素,導致舊版本的JVM無法解釋、執行.class文件。即使這個類並沒有使用任何JDK5的新元素,但是JDK5生成的.class文件,JDK1.4及其以前的JVM都無法辨認。
解決方法:
1. 弄清楚該程序是在哪個JDK版本下開發的 (JDK對於java學習者應該不能陌生)

2. 在myEclipse 菜單->Windows->Proferences->java-> Installs Jres重新設置JDK路徑,改為開發程序時的JDK版本(如上圖)(我做到這一步就可以了!我的eclipse是7.0,jdk是6u13的。)

3. Windows->Proferences->java->Compiler,將compiler compliance level設置為與上面相同的JDK(如上圖,如果你今天2011年到官方下載的JDK那可能是1.6的了,建議勾選1.6)
-----------------------------------------------------------------------------
對於項目來說,有時候出現版本問題也是跟編譯級別有關系,那修改一下就可以了(如下圖)

