Maven 阅读Tomcat上的电子邮件:ClassNotFoundException:javax.mail.MessaginException
我的应用程序正在Tomcat7上运行 我试图从收件箱中读取电子邮件,为此我使用了一个普通的Java类 还有一个Servlet调用上述类中的方法Maven 阅读Tomcat上的电子邮件:ClassNotFoundException:javax.mail.MessaginException,maven,email,tomcat,intellij-idea,classnotfoundexception,Maven,Email,Tomcat,Intellij Idea,Classnotfoundexception,我的应用程序正在Tomcat7上运行 我试图从收件箱中读取电子邮件,为此我使用了一个普通的Java类 还有一个Servlet调用上述类中的方法readmail 现在我得到一个例外: java.lang.ClassNotFoundException: javax.mail.MessagingException ... java.lang.NoClassDefFoundError: com/sun/mail/util/MailLogger javax.mail.Session.initLo
readmail
现在我得到一个例外:
java.lang.ClassNotFoundException: javax.mail.MessagingException
...
java.lang.NoClassDefFoundError: com/sun/mail/util/MailLogger
javax.mail.Session.initLogger(Session.java:226)
javax.mail.Session.<init>(Session.java:210)
javax.mail.Session.getDefaultInstance(Session.java:321)
我在Maven中使用IntelliJ IDEA,我对javax.mail的依赖性做了很多更改(请参阅),但异常情况不断出现
我还更改了Tomcat的版本(7和8),以及“项目SDK”(1.7和1.8)和“项目语言级别”(7和8)的版本
我在某个地方读到,使用普通Java应用程序通过IMAP阅读电子邮件和在Tomcat上运行电子邮件是有区别的
在上一个项目中,我使用普通Java应用程序成功地阅读了电子邮件
有人能帮我解决这个异常吗?默认情况下,Tomcat库中不包括JavaMail API 确保JavaMail依赖项(mail-X.X.jar)与应用程序打包在一起(在WEB-INF/lib中),或者位于Tomcat类加载器读取的文件夹中(例如$CATALINA_HOME/lib),如下所述: 谢谢,现在可以用了 我将maven(.m2/repository/…)下载的jar文件(javax.mail:javax.mail-api-1.5.4.jar)放入WEB-INF/lib(在我的项目中) 由于以下异常,我还需要将另一个jar文件放入WEB-INF/lib(com.sun.mail:javax.mail-1.5.4.jar)中:
java.lang.ClassNotFoundException: javax.mail.MessagingException
...
java.lang.NoClassDefFoundError: com/sun/mail/util/MailLogger
javax.mail.Session.initLogger(Session.java:226)
javax.mail.Session.<init>(Session.java:210)
javax.mail.Session.getDefaultInstance(Session.java:321)
java.lang.NoClassDefFoundError:com/sun/mail/util/MailLogger
initLogger(Session.java:226)
Session.(Session.java:210)
getDefaultInstance(Session.java:321)
我添加了
<packaging>war</packaging>
战争
到我的pom.xml。这样,maven将依赖项放在目标文件夹中