2013-03-28 49 views
19

Tôi đang xây dựng một ứng dụng sử dụng thời gian. Tôi quyết định sử dụng thời gian Joda. Tôi đang cố gắng thêm thời gian joda vào ứng dụng của mình. Tôi không có kinh nghiệm với việc thêm .jar tệp vào thư viện. Tôi theo sau these steps (xem dưới), hoặc vì vậy tôi nghĩ. dự án của tôi được thể hiện không có lỗi, nhưng khi tôi chạy một thử nghiệm đơn giản: DateTime test = new DateTime(); tôi nhận được một lực lượng chặt chẽ và các lỗi sau:Thêm Thời gian Joda

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

Đây là những bước Tôi đi theo:

  1. Tạo của bạn dự án android trong nhật thực.
  2. Tải xuống Joda Time
  3. Trong Eclipse, hãy tìm dự án của bạn tại trình thám hiểm gói và nhấp chuột phải vào dự án của bạn tại số New -> Folder -> libs. Lưu ý: Tôi không làm điều này vì tôi đã có một thư mục có tên libs
  4. Sao chép (hoặc) kéo & thả joda-time-2.1.jar vào mới được tạo ra libs thư mục.
  5. Nhấp chuột phải vào dự án của bạn một lần nữa (trong trình khám phá gói) rồi Properties -> Java Build Path -> Libraries -> Add Jars -> joda-time-2.1.jar.

Bây giờ bạn có thể thử nghiệm với mã này:

DateTime test = new DateTime(); 

Sau khi nhập:

import org.joda.time.DateTime; 
+1

làm sạch dự án và xây dựng. – rajeshwaran

+0

bạn có thể bắt đầu sử dụng jodatime, bằng cách thêm câu lệnh nhập có liên quan ở đầu tệp lớp của bạn (hoặc chỉ cần nhập DateTime chẳng hạn, sau đó nhấn CTRL + SPACE và nhật thực nên thêm nhập cho bạn) – rajeshwaran

+0

Phải. Nó được nhập khẩu đúng cách. –

Trả lời

20

Vì nó là một dự án Android, chỉ cần tham khảo các tập tin jar Joda sẽ không làm. Bạn sẽ cần phải bó mà file jar cùng với gói ứng dụng của bạn mà có thể được thực hiện như thế này: -

  1. Properties -> Java Build Path -> Đặt hàng & Xuất

  2. Kiểm tra trên joda-time-*-*.jar và nhấp chuột Ok. Bạn đã hoàn tất.


Giải thích: Tham chiếu jar mình sẽ chỉ giải quyết vấn đề biên soạn trong Eclipse (hoặc bất kỳ IDE khác), nhưng khi apk được tạo ra "Joda-time" file jar won không được xuất/gói cùng với "apk" của bạn. Đó là lý do tại sao nó ném NoClassDefFoundError.

Nhưng khi bạn kiểm tra bình joda trong Đặt hàng & Xuất, nó sẽ đảm bảo rằng bình cũng được gói trong/cùng với "apk" của bạn bất cứ khi nào được tạo.

+4

Hallelujah !! Điều đó đã làm nó! Bạn có thể giải thích lý do tại sao tôi sẽ cần phải làm điều đó cho android? –

Các vấn đề liên quan