2012-02-26 24 views
11

我已經安裝了Eclipse for android,並且工作正常。當我嘗試啓動一個java文件時,出現以下錯誤:在初始化VM時發生錯誤 java/lang/NoClassDefFoundError:java/lang/ref/FinalReferenceEclipse錯誤:NoClassDefFoundError:java/lang/ref/FinalReference

經過一番研究,我知道這是buildpass的東西,嘗試後,我沒有得到它的工作。我刪除了所有的東西(Eclipse,Java,Android),並重新安裝了所有東西,但同樣的令人不滿的結果。有人可以向我解釋做什麼,因爲我從互聯網上試過的東西不適合我。

+0

同樣的問題也即時通訊有.... Android應用程序工作正常...但Java文件是給錯誤的NoClassDefFoundError ... – Kri 2012-02-26 18:17:55

+0

你想「運行「一個Android java文件?你怎麼得到這個錯誤? – dmon 2012-02-26 19:03:04

+1

嘗試創建一個Java項目而不是Android項目,並嘗試在那裏運行Java文件並查看會發生什麼。 – Sid 2012-02-28 20:24:20

回答

17
  1. 查找運行配置 - > Java應用程序
  2. 在新配置的Classpath選項卡,找到「的Android庫」引導下的條目,並刪除它。
  3. 仍然在Classpath選項卡中,選擇Bootstrap Entries並單擊Advanced按鈕。
  4. 選擇添加庫,然後單擊確定。
  5. 選擇JRE系統庫,然後單擊下一步。
  6. 選擇工作區默認JRE,然後單擊完成。

基於http://www.frickingnutz.com/files/android_pdf/FAQs.pdf

+0

哇......有人對Eclipse有很多瞭解 – slezica 2012-07-03 09:33:00

0

如果您嘗試運行特定的java類,則每次單擊運行按鈕時,它都會默認爲您最後嘗試運行的任何內容。

單擊運行按鈕旁邊的下拉菜單,然後選擇具體要運行的內容。

2

我已經被這個錯誤感到沮喪了好幾天,通過與同事Eclipse首選項比較礦山,問題得到了解決,通過改變Java的合規性水平爲1.7至1.6。 這也會將生成的.class文件和源代碼兼容性更改爲1.6。

0

轉到「運行」菜單下的「運行配置」。選擇刪除運行菜單。做一個乾淨的,然後你應該回來,再次運行。

0

我試圖使用上面的所有答案,但它不工作。

當我編寫1個方法返回String [][](不知道爲什麼)時發生此錯誤,但當禁用(/* */)該方法時錯誤不會消失。

最後我做了兩兩件事:

  1. 創建一個新的Android項目和複製文件。重建Activity.java和manifest.xml。

    它的工作,直到我激活方法,然後同樣的錯誤一遍:VM的初始化過程中出現

    VM java/lang/NoClassDefFoundError: java/lang/ref/FinalReference and then

    錯誤並不管我做什麼,它didn't工作,直到我創建另一個Android項目。

  2. 所以,我做的第二件事是:

    運行 - >設置 - 運行> Java應用程序,並單擊New_Configuration然後我點擊了紅色的X以上(刪除選定的啓動配置)和它的工作(不的方法,但該程序工作時,我/* */它。)

+1

另一件事:我的錯誤是我在utilities.java文件中有一個main()方法。這產生了錯誤加上我運行應用程序,當我在我的屏幕上的utilities.java – 2012-08-20 19:40:07