Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/MailLogger解決方法
阿新 • • 發佈:2018-11-27
今天用MailUitl工具類傳送郵件報如下錯誤。。。
錯誤提示:
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/MailLogger at javax.mail.Session.initLogger(Session.java:230) at javax.mail.Session.<init>(Session.java:214) at javax.mail.Session.getInstance(Session.java:251) at com.ssm01.util.MailUtil.sendMail(MailUtil.java:42) at com.ssm01.util.MailUtil.main(MailUtil.java:69) Caused by: java.lang.ClassNotFoundException: com.sun.mail.util.MailLogger at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 5 more
解決方案:
原來的pom.xml mail的依賴
<dependency>
<groupId>javax.mail</groupId>
<artifactId>javax.mail-api</artifactId>
<version>1.5.6</version>
</dependency>
改為:
<dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</version> </dependency>
或改為:
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.6.0</version>
</dependency>
或改為:
<dependency> <groupId>javax.mail</groupId> <artifactId>javax.mail-api</artifactId> <version>1.5.5</version> </dependency> <dependency> <groupId>com.sun.mail</groupId> <artifactId>javax.mail</artifactId> <version>1.5.5</version> </dependency>
可能原因:
com.sun.mail.util。MailLogger是JavaMail API的一部分。它已經包含在EE環境中(這就是為什麼您可以在您的活動伺服器上使用它),但是它沒有包含在SE環境中。
JavaMail API是可選的包,可與Java SE平臺一起使用,Java EE平臺中也包含了JavaMail API。
javax。mail-api工件只適合於編譯。您實際上需要執行程式碼,因此需要JavaMail的完整實現。