2013-03-28 127 views
19

我正在構建一個使用時間的應用程序。我決定使用喬達時間。我正在嘗試將joda時間添加到我的應用程序中。我沒有將.jar文件添加到庫中的經驗。我跟着these steps(見底部),或者我想。我的項目沒有顯示任何錯誤,但是當我運行一個簡單的測試:DateTime test = new DateTime();我得到一個強制關閉,並出現以下錯誤:添加喬達時間

Could not find class 'org.joda.time.DateTime', referenced from method xxxx 
java.lang.NoClassDefFoundError: org.joda.time.DateTime  

這是我遵循的步驟:

  1. 創建在eclipse中的android項目。
  2. 下載Joda Time
  3. 在Eclipse中,在包資源管理器中查找您的項目並右鍵單擊它然後將其命名爲New -> Folder -> libs注:我沒有這樣做,因爲我已經有一個名爲libs
  4. 複製(或)拖動&降joda-time-2.1.jar到新創建的文件夾libs夾。
  5. 再次右鍵單擊您的項目(在資源管理器中),然後Properties -> Java Build Path -> Libraries -> Add Jars -> joda-time-2.1.jar

現在你可以用這個代碼進行測試:

DateTime test = new DateTime(); 

導入後:

import org.joda.time.DateTime; 
+1

清理項目並構建。 – rajeshwaran 2013-03-28 06:00:17

+0

你可以開始使用jodatime,在你的類文件的開頭添加相關的import語句(或者只輸入DateTime,然後CTRL + SPACE和eclipse應該爲你添加import) – rajeshwaran 2013-03-28 06:05:45

+0

對。它被正確導入。 – 2013-03-28 06:06:40

回答

20

既然是Android項目,只是引用喬達jar文件是不行的。你需要捆綁的是jar文件與您的APK,可這樣進行沿: -

  1. 屬性 - > Java構建路徑 - >在線訂單&出口

  2. 檢查的joda-time-*-*.jar和點擊Ok。你完成了。


說明:單獨引用的jar只解決在Eclipse中編譯問題(或任何其他IDE),但是當APK創建「喬達時間」 jar文件韓元不會與您的「apk」一起導出/捆綁。這就是爲什麼它會拋出NoClassDefFoundError

但是,當您檢查喬達時JAR在訂單&出口,它會確保罐子也被捆綁內/帶時,它會創建你的「APK」一起。

+4

哈利路亞!那樣做了!你能解釋爲什麼我需要這樣做的android? – 2013-03-28 06:11:32