关于发邮件的问题 JavaEE 5和 J2EE 1.4应该注意的问题

JAVA关于发送邮件
在Java EE 5环境下遇到的异常
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream
问题所在:
JavaEE版本和JavaMail的版本不一致,请将sun公司上下载最新版本.
   例如:javaMail 1.3以下的如果在javaEE5上就会出现上面的错误,
   但如果在javaEE1.4下就正常.(但本人试过,javaEE5+javaMail1.4还是有一样的问题)
   因为javaEE5中包含有javaMail的类但是却不全面,所以出本身的JavaMail
   包冲突.
2.Exception in thread "main" java.lang.NoClassDefFoundError: javax/activation/DataSource 没有导入activation.jar文件.没有导入这个jar的话在编译时通过
但在运行时正常

JAVAMAIL 1.4,SharedByteArrayInputStream这个类已经加到javax.mail.util包里了。估计是不同版本的javamail包冲突。
搜索一下,javax.mail这个包,看看有多少个jar里面包含了JAVAMAIL,然后不不要的包就去掉它,如果还是不能去掉(比如有些包是必须的又包含了),有个很土的办法:
把你那个mail.jar改为amail.jar。这样在路径中它就排在最前面了。
总之,把冲突的包找出来去掉或者放在classpath搜索路径的后头。

 
如果时Java EE 5 最终解决方案:
在你的MyEclipse安装目录下如:
D:\Program Files\MyEclipse 5.5 GA\myeclipse\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_5.5.0\data\libraryset\EE_5 在此目录下可以看到javaee.jar然后以rar方式打开,删除javax下面的mail目录和activation.目录,然后将下载的mail.jar,activation.jar放到工程的lib下即可
 

你可能感兴趣的:(职场,休闲,邮件SendEmail)