今天在测试邮件发送时,发生如下错误:
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解决办法。
整合一下,自己对这个错误发生的理解。
第一步:确认java Mail 邮件发送关联的jar 文件是否引用:javax.mail和javax.activation。
第二步:确认web 项目的引用Libraries版本信息。(我项目报错的原因是由于我使用的是Libraries5,调整为Libraries6,邮件能够正常发送,我猜想是由于Libraries版本不同,引用的mail jar 文件也不尽相同)。