java.lang.ClassNotFoundException:com.sun.mail.util.MessageRemovedIOException

时间:2015-11-24 10:50:53

标签: java java-8 javamail noclassdeffounderror

将应用程序从jdk6升级到jdk8时,我们在Message msg = new MimeMessage(session);

上收到以下错误
 SEVERE: Servlet.service() for servlet [default] in context with path [] threw exception [java.lang.reflect.InvocationTargetException] with root cause
java.lang.ClassNotFoundException: com.sun.mail.util.MessageRemovedIOException
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1333)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167)

升级他们的Java应用程序时是否有人遇到过相同或相关的问题?

编辑:相同的代码正在使用java6。

3 个答案:

答案 0 :(得分:2)

您已经在类路径中混合了不同版本的JavaMail中的JavaMail类。您使用的是什么应用程序服务器以及Web应用程序的lib目录中的内容?

答案 1 :(得分:2)

我使用了它并且它起作用了:

math

答案 2 :(得分:2)

我有类似的问题。我正在使用Maven依赖项 配置外部库。

通过从新的maven存储库切换解决了该问题 对于Java Mail Api,到旧的Maven存储库

New Repository(引发异常):                  javax.mail             javax.mail-API             1.5.5     

旧存储库(工作正常):                  javax.mail             邮件             1.4     

我不知道为什么使用旧存储库工作,而使用新存储库则不然。如果有人要澄清这一点会很棒。