java.lang.NoClassDefFoundError: com/sun/mail/util/MailLogger javax/mail/MessagingException

来源:互联网 发布:windows 7 共享 权限 编辑:程序博客网 时间:2024/06/06 09:03

关于使用JavaMail过程中遇到两个错误

1.Java.lang.NoClassDefFoundError: com/sun/mail/util/MailLogger

java


pom.xml 原先配置

[java] view plain copy
 print?
  1. <dependency>  
  2.     <groupId >javax.mail </groupId >  
  3.     <artifactId >javax.mail- api</ artifactId>  
  4.     <version >1.5.1 </version >  
  5.     <scope >test </scope >  
  6. </dependency>  

解决方案:

java.lang.NoClassDefFoundError: com/sun/mail/util/MailLogger

MailLogger  --是JavaMail的一部分,包含在Java EE环境里面,但是不包含在Java SE环境里面,出现这个错误很大的原因是在SE环境里面测试邮件的发送;javax.mail-api只适合编译,但是如果你实在要运行代码,必须完全实现JavaMail
可以用<groupId>com.sun.mail</groupId><artifactId>javax.mail</artifactId>

参考:http://stackoverflow.com/questions/16807758/java-lang-noclassdeffounderror-com-sun-mail-util-maillogger-for-junit-test-case

pom.xml修改为
[java] view plain copy
 print?
  1. <span style="white-space:pre">    </span><dependency >  
  2.             <groupId >com.sun.mail </groupId >  
  3.             <artifactId >javax.mail </artifactId >  
  4.             <version >1.5.4 </version >  
  5.         </dependency >  



而后出现第二个错误
2.java.lang.NoClassDefFoundError: javax/mail/MessagingException
是因为需要 mail.jar 这个jar包

参考:http://javahonk.com/java-lang-classnotfoundexception-javax-mail-messagingexception/

最终pom.xml修改为
[java] view plain copy
 print?
  1. <dependency >  
  2.     <groupId >javax.mail </groupId >  
  3.     <artifactId >mail </artifactId >  
  4.     <version >1.4.5 </version >  
  5. </dependency >  
  6. <dependency >  
  7.     <groupId >com.sun.mail </groupId >  
  8.     <artifactId >javax.mail </artifactId >  
  9.     <version >1.5.4 </version >  
  10. </dependency >  


阅读全文
0 0
原创粉丝点击