怪异恼人的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)
    .........

类是以前做好测试好的类,怎么会出现这样问题呢?

网络时代第一想到就是到网络上找现成的答案。

于是找到以下两篇:

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就没问题了,到上面摘录的两篇网文提到的深路径里去删东西是不可取的,切记!

原文地址:https://www.cnblogs.com/heyang78/p/4132201.html