測試以前做的一個郵件發送類,出現以下問題:
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream
at javax.mail.Session.loadProvidersFromStream(Session.java:928)
at javax.mail.Session.access$000(Session.java:174)
at javax.mail.Session$1.load(Session.java:870)
at javax.mail.Session.loadResource(Session.java:1084)
at javax.mail.Session.loadProviders(Session.java:889)
at javax.mail.Session.<init>(Session.java:210)
at javax.mail.Session.getDefaultInstance(Session.java:299)
.........
類是以前做好測試好的類,怎么會出現這樣問題呢?
網絡時代第一想到就是到網絡上找現成的答案。
於是找到以下兩篇:
MyEclipse 編寫java mail 時遇到 java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream
和
關於java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream解決辦法
這兩個方法可以說當年那樣做是可以的,但是,現在就不合時宜了!
比較以前和現在的工程,發現以前用的javaee6的庫,現在用的是5的,差別就在這里。
然后把當前工程的javaee5庫刪除,加上6的,就通過了。
圖示如下:

總結一下:
出現如題錯誤,在於用了錯誤的Java EE 5 Libraries,刪掉它,用上圖所示的Java EE 6 Libraries就沒問題了,到上面摘錄的兩篇網文提到的深路徑里去刪東西是不可取的,切記!
