import javax.mail.internet.*;
import javax.mail.internet.MimeMultipart;
//mimeMess 为 MimeMessage 类型
if(mimeMess.isMimeType(MULTIPART)){
MimeMultipart mmp=(MimeMultipart) mimeMess.getContent();
....
}在windows下运行代码完全没有问题,可是把代码放到Linux上,每次运行
MimeMultipart mmp=(MimeMultipart) mimeMess.getContent();
这句总提示说ClassCastException。 我把class的信息打印出来,明明就是 MimeMultipart 对象,可就是转换不了. 在windows下运行就没有问题.
请问有谁遇到过类似情况,是什么原因??
import javax.mail.internet.MimeMultipart;
//mimeMess 为 MimeMessage 类型
if(mimeMess.isMimeType(MULTIPART)){
MimeMultipart mmp=(MimeMultipart) mimeMess.getContent();
....
}在windows下运行代码完全没有问题,可是把代码放到Linux上,每次运行
MimeMultipart mmp=(MimeMultipart) mimeMess.getContent();
这句总提示说ClassCastException。 我把class的信息打印出来,明明就是 MimeMultipart 对象,可就是转换不了. 在windows下运行就没有问题.
请问有谁遇到过类似情况,是什么原因??
但无论如何,这个类肯定就是MimeMultipart类. 不知为何MimeMultipart mmp=(MimeMultipart) mimeMess.getContent(); 会出错
因为LINUX本身都带有低版本的JRE,如果直接使用JAVA命令,一般来说都是指向系统的JRE上
LINUX下安装的JDK好像不会自动配置系统变量的,这点要注意
关键字:Linux,tomcat5.5,javamail
解决方法:把web-inf/lib 下的mail.jar 包,放到tomcat目录下的common/lib目录下即可.原因:听说tomcat自带了javamail,在linux下(windows下没这个问题),如果把mail.jar放到本web项目下,tomcat会引起class版本错误.