天天看點

怪異惱人的java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream問題的解決

測試以前做的一個郵件發送類,出現以下問題:

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)

    .........

類是以前做好測試好的類,怎麼會出現這樣問題呢?

網絡時代第一想到就是到網絡上找現成的答案。

于是找到以下兩篇:

<a href="http://my.oschina.net/hsm/blog/108389" target="_blank">MyEclipse 編寫java mail 時遇到 java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream</a>

<a href="http://blog.csdn.net/5iasp/article/details/5935428" target="_blank">關于java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream解決辦法</a>

這兩個方法可以說當年那樣做是可以的,但是,現在就不合時宜了!

比較以前和現在的工程,發現以前用的javaee6的庫,現在用的是5的,差别就在這裡。

然後把目前工程的javaee5庫删除,加上6的,就通過了。

圖示如下:

怪異惱人的java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream問題的解決

總結一下:

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

本文轉自張昺華-sky部落格園部落格,原文連結:http://www.cnblogs.com/xiandedanteng/p/4132201.html,如需轉載請自行聯系原作者