我使用JavaMail应用程序接口在servicemix下发送带有附件的电子邮件。我使用的是独立运行的相同代码,但我得到了一个奇怪的异常:
线程“
-6-java.lang.ClassCastException-5”池异常: org.apache.servicemix.specs.activation.OsgiMailcapCommandMap.createDataContentHandler(Osg iMailcapCommandMap.java:60的com.sun.mail.handlers.multipart_mixed )
我尝试了很多技巧,包括在包定义中导入包com.sun.mail.handlers和描述in this thread的那些技巧。
该项目是由JDK1.5、FuseESB 4.2运行的Java1.5代码
-- 编辑 --
该问题是由加载到servicemix中的weblogic.jar引起的,servicemix通过META_INF提供了来自java mail api和激活的邮件帽和其他文件的自己的副本。
发布于 2011-07-19 23:47:27
这听起来像是一个冲突的类案例。
ab.jar具有AB类
cd.jar也有AB类
然后,您的应用程序将使用包括ab.jar和cd.jar在内的类路径运行。Java从ab.jar加载类AB,但实际上要加载的正确类是来自cd.jar的AB。
也许您可以尝试在jar文件中搜索冲突的类。如果您使用的是Eclipse,可以很容易地完成。将所有jars包含到项目的构建路径中,然后按: CTRL+SHIFT+T ( Open Type的快捷方式),键入: multipart_mixed并查看有多少jars包含它。
也可能与java运行时库中的activation.jar冲突。
https://stackoverflow.com/questions/6749108
复制相似问题