今天在做项目一个邮件模块,我的环境是MyEclipse8.5和tomcat6.0首先我导入了 mailapi1.5.1和smtp-1.5.1.jar这两个jar包,这时测试的时候出现了一个异常:
java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream
得知 这个异常是 javaee5中的mail和mailapi1.5.1发生了冲突,于是我尝试吧myeclipse中的javaee5中的mail包删掉,但是myeclispe8.5不让你删,删了之后,重新把余下的压缩成jar包,myeclipse不识别,项目就出错了。
在网上看到javaee6.0包含了mail.jar和javaee5的功能,于是我把项目中的mailapi.1.5.1和myeclipse里面的javaee5.jar删了,把javaee6.0放进了myeclipse中javaee5原来的位置,但是这时候还是不识别,因为myeclipse8.5只识别javaee.jar,而我导入的是javaee6.0.jar所以在加载项目的时候,根本就没有导入javaee6.0.jar。可想而知,测试肯定出错,
最后,我把javaee6.0.jar重命名为javaee.jat放在了myeclispe加载jar包的路径下,我也只是试试,,奇迹发生了,,竟然成功了。。真的太高兴了。搞了一天结束了。。。
正确的步骤:
1.下载一个javaee6.jar, 然后把在把myeclispe环境下的javaee.jar删除,将刚在下载的javaee6.jar重命名为javaee.jar,然后刷新项目
2.将smtp-1.5.1.jar或者pop3-1.5.1.jar引入项目(具体取决于服务器),不需要导入mailapi.jar(因为javaee6.jar中已经包含了它的功能)
然后就成功了,,这里我觉补贴代码了。。。网上很多,。。
搞了一天,,希望后来人不要在这个小问题上花费太多的时间,,写个有需要的人。。