吉林的一个项目有个错误找了一天,有段报错是: java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream
1、遇到过两次,第一次是在写一个邮件发送的功能,听同学说要删除myeclipse中的相应jar。
2、第二次更纠结了,在项目启动时一个job的轮询要启动发送邮件的功能,而我在测试其他功能时要先启动一部分job,就各种报错
找了一天都不知道哪错了。最后看见了 mail的错误,试着删了那个jar包就好了。
主要原因如下:
javax.mail和javax.activation这两个包已经在javaEE5当中属于基础包了,就是JDK中自带了已经,但是里面的方法与现在外面的mail.jar和activation.jar有一些出入,所以初学者在直接copy别人代码的时候往往会出现上面的错误。
废话不多说下面是解决方法
进到
X:/Program Files/MyEclipse 6.5/myeclipse/eclipse/plugins/com.genuitec.eclipse.j2eedt.core_6.5.0.zmyeclipse650200806/data/libraryset/EE_5
这个路径里,可以看到javaee.jar,用rar把这个文件打开,然后进到javax文件夹里,删除mail.jar和activation.jar(我的javaee.jar里,这两个东西是文件夹,总之删掉就OK,不过要注意备份一下)
删掉之后运行相应的代码,应该不会再出现mail的相应错误了。