2013-02-23 35 views
7

Tôi đã làm việc trên một chương trình sử dụng API Javamail để gửi email dựa trên các sự kiện thời gian và các điều kiện nhất định. Chương trình chạy hoàn hảo trong Eclipse (phiên bản mới nhất) và các javamail và các jumper hoạt động nằm trong đường dẫn xây dựng, cũng như các phụ thuộc của javamail. Vấn đề xảy ra khi tôi xuất dự án như một cái bình và cố gắng chạy nó. (Dấu vết ngăn xếp được tạo ra là giống nhau nếu như bình javamail bị thiếu trong đường dẫn xây dựng Eclipse).java.lang.NoClassDefFoundError: javax/mail/MessagingException

Các vết đống như sau:

`Exception in thread "Timer-1" java.lang.NoClassDefFoundError: javax/mail/MessagingException 
at SpaceCheck.HourlySpaceAlerts(SpaceCheck.java:212) 
at WarningReports.run(WarningReports.java:21) 
at java.util.TimerThread.mainLoop(Unknown Source) 
at java.util.TimerThread.run(Unknown Source) 
Caused by: java.lang.ClassNotFoundException: javax.mail.MessagingException 
at java.net.URLClassLoader$1.run(Unknown Source) 
at java.net.URLClassLoader$1.run(Unknown Source) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(Unknown Source) 
at java.lang.ClassLoader.loadClass(Unknown Source) 
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
at java.lang.ClassLoader.loadClass(Unknown Source) 
... 4 more` 

Cảm ơn bạn đã giúp đỡ của bạn.

+0

Bạn có thể thử xuất dưới dạng jar có chứa tất cả tùy chọn phụ thuộc. – devang

+0

Tôi có "Đã xuất các tệp và tài nguyên lớp đã tạo", đó có phải là tùy chọn chính xác không? – user2101299

+0

bạn đã tìm thấy bản sửa lỗi nhanh cho điều này chưa? –

Trả lời

11

giả sử bạn đặt javamail và phụ thuộc khác để lib/ thư mục tương ứng với jar xuất khẩu của bạn, bạn phải khai báo những lọ trong file manifest:

Class-Path: lib/javamail.jar 
+0

Thật không may tôi đã làm điều này, vô ích. – user2101299

+0

Cảm ơn bạn đã đề xuất mặc dù, nó là một tốt nhất. – user2101299

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