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运行不会抛出异常。
进入下面路径(我的安装到了F盘,可以根据自己安装的盘寻找文件)
F:\myeclise_2017_CI_10\plugins\com.genuitec.eclipse.j2eedt.core_13.0.0.me201712190632\data\libraryset\EE_5
找到javaee.jar,可以先备份一下这个包,打开它,把这个jar包中与javax.mail相关的东西都删除(activation和mail包)。
再把mail.jar和activation.jar导入到项目中,这就不会出错了。
【SSH】Myeclipse如何删除关联邮件的jar包
最新推荐文章于 2019-04-26 11:23:39 发布