关于java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream解决办法

本文解决了一个常见的Java开发问题,即在使用邮件发送功能时遇到的NoClassDefFoundError错误。通过分析javax.mail和javax.activation包与JDK自带版本的冲突,给出了详细的解决方案,包括删除特定的jar包。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

吉林的一个项目有个错误找了一天,有段报错是:   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的相应错误了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值