MyEclipse中JavaMail冲突问题

时间:2022-08-06 15:35:26

MyEclipse中的JavaEE5中的mail包中只有接口,而没有实现,所以不能使用

会抛出:java.lang.NoClassDefFoundError: com/sun/mail/util/BEncoderStream异常

当导入mail.jar后,会抛出下面异常:java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream

这是因为MyEclipse下有javamail的接口,并且mail.jar中也有javamail的接口,所以会出现冲突。

而MyEclipse中的JavaEE5是为了编译环境而存在的,真正发布到Tomcat环境后,就不需要MyEclipse的JavaEE5了。

但是,如果你非要在WEB项目下,运行main()方法,这就会出现问题。mail.jar中的类与MyEclipseEE5中的类冲突。

如果你发布到Tomcat下,因为Tomcat自己有JavaEE的jar包,所以MyEclipse的JavaEE5不会发到Tomcat下,所以

Tomcat运行不会抛出异常。

进入下面路径

D:\MyEclipse10\Common\plugins\com.genuitec.eclipse.j2eedt.core_10.0.0.me201110301321\data\libraryset\EE_5

找到javaee.jar,把这个jar包中与javax.mail相关的东西都删除。

再把mail.jar和activation.jar导入到项目中,这就不会出错了。

==================================