2010-11-27 48 views
1

我有一個類擴展了OrmliteSqliteOpenHelper以便爲Android應用程序提供一個持久性模塊。問題是,無論何時從Eclipse中的測試項目訪問此類,它都會引發NoClassDefFound異常。源代碼似乎沒問題,因爲包已導入,Eclipse沒有突出顯示任何錯誤,但它確實如此。OrmliteSqlite的NoClassDefFound錯誤OpenHelper

這裏是踢球者:當從測試項目中訪問時,不僅項目中的所有其他項目都能正常工作,而且當我將此文件移動到測試項目瞧時,它完美地工作!問題是它需要在實際項目中才能讓其他組件調用它。有沒有人遇到這個錯誤或有任何想法,我可能會出錯?

正確設置類路徑,因爲所有其他類都可以正常工作,並且測試項目始終將主項目添加到其類路徑中。我也嘗試將OrmliteSqliteOpenHelper對象移動到內部類:這允許外部類可見和觸及,但只要它嘗試實例化內部類時就會發生相同的錯誤。另外,如果我將該文件複製到同一個包中的兩個項目中,則只要主項目中的某些內容嘗試訪問此類,就會發生錯誤,指出「預先驗證的類中的類ref已解析爲意外的實現」。顯然,兩個項目之間編譯/處理類的方式存在一些差異。

我非常難過:/非常感謝您的幫助!

+0

凱爾,哪個類得到NoClassDefFound異常? OrmliteSqliteOpenHelper基類或你的子類?你能發佈修剪過的類層次結構嗎? – Gray 2010-11-27 13:03:26

回答

0

好的朋友們,我似乎已經爲這個問題解決了這個問題: 我將主項目的整個'src'文件夾鏈接到測試項目的文件夾中。現在,當它搜索我的文件所在的特定包時,它首先在它自己的源代碼樹中找到該文件。萬歲!

爲什麼這樣嗎?我沒有線索,也許有人可以啓發我們這個事實。
它工作嗎?現在...

0

還有就是我如何解決這個問題:從測試項目的構建路徑

  • 刪除OrmLite。
  • 從主項目中導出它們。
相關問題