前几天在JRE环境下写的一个Java Mail程序,运行良好,但是放在JavaEE环境下总是报错:
java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream
Session.Provider找不到等错误。
后来,在网上找了一下,发现这是因为:
javax.mail和javax.activation这两个包已经在javaEE5当中属于基础包了,但是里面的方法与现在外面的mail.jar和activation.jar有一些出入。简而言之它们之间是有冲突的。
解决方法:
进到
X:/Program Files/MyEclipse 7.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。
改完后,运行成功。记在work log之中,以免下次又花时间在网上找!
本文解决了JavaMail在JavaEE环境下因javax.mail和javax.activation包冲突导致的问题。通过删除特定jar文件,实现了JavaMail与JavaEE环境的兼容。

被折叠的 条评论
为什么被折叠?



