阅读 Tomcat 上的电子邮件:ClassNotFoundException:javax.mail.MessagingException
Read emails on Tomcat: ClassNotFoundException: javax.mail.MessagingException
我的申请是 运行 Tomcat 7.
我正在尝试从收件箱中读取电子邮件,为此我使用了普通 Java class.
还有一个Servlet调用了class中的方法readMails
。
现在我得到一个例外:
java.lang.ClassNotFoundException: javax.mail.MessagingException
...
我在 Maven 中使用 IntelliJ IDEA,我更改了很多 javax.mail 的依赖项(参见 http://mvnrepository.com/artifact/javax.mail),但异常不断出现。
我还更改了 Tomcat(7 和 8)的版本,以及 "Project SDK"(1.7 和 1.8)和 "Project language level"(7 和 8)的版本。
我在某处读到,使用普通 Java 应用程序通过 IMAP 阅读电子邮件与 运行 在 Tomcat 上阅读电子邮件之间存在差异。
在之前的项目中,我使用普通的 Java 应用程序成功阅读了电子邮件。
任何人都可以帮我解决这个例外吗?
JavaMail API 默认不包含在 Tomcat 个库中。
确保 JavaMail 依赖项 (mail-X.X.jar) 与您的应用程序打包在一起(在 WEB-INF/lib 中)或者位于 Tomcat class 的文件夹中加载程序读取(例如 $CATALINA_HOME/lib),如下所述:
http://tomcat.apache.org/tomcat-7.0-doc/class-loader-howto.html
谢谢,现在可以了。
我把maven下载的jar文件(javax.mail:javax.mail-api-1.5.4.jar) (.m2/repository/ ...) 进入 WEB-INF/lib(在我的项目中)。
我还需要将另一个 jar 文件放入 WEB-INF/lib (com.sun.mail: javax.mail-1.5.4.jar)由于此异常:
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)
我加了
<packaging>war</packaging>
给我的 pom.xml。这样maven就把依赖放到了target文件夹下。
我的申请是 运行 Tomcat 7.
我正在尝试从收件箱中读取电子邮件,为此我使用了普通 Java class.
还有一个Servlet调用了class中的方法readMails
。
现在我得到一个例外:
java.lang.ClassNotFoundException: javax.mail.MessagingException
...
我在 Maven 中使用 IntelliJ IDEA,我更改了很多 javax.mail 的依赖项(参见 http://mvnrepository.com/artifact/javax.mail),但异常不断出现。
我还更改了 Tomcat(7 和 8)的版本,以及 "Project SDK"(1.7 和 1.8)和 "Project language level"(7 和 8)的版本。
我在某处读到,使用普通 Java 应用程序通过 IMAP 阅读电子邮件与 运行 在 Tomcat 上阅读电子邮件之间存在差异。
在之前的项目中,我使用普通的 Java 应用程序成功阅读了电子邮件。
任何人都可以帮我解决这个例外吗?
JavaMail API 默认不包含在 Tomcat 个库中。
确保 JavaMail 依赖项 (mail-X.X.jar) 与您的应用程序打包在一起(在 WEB-INF/lib 中)或者位于 Tomcat class 的文件夹中加载程序读取(例如 $CATALINA_HOME/lib),如下所述:
http://tomcat.apache.org/tomcat-7.0-doc/class-loader-howto.html
谢谢,现在可以了。
我把maven下载的jar文件(javax.mail:javax.mail-api-1.5.4.jar) (.m2/repository/ ...) 进入 WEB-INF/lib(在我的项目中)。
我还需要将另一个 jar 文件放入 WEB-INF/lib (com.sun.mail: javax.mail-1.5.4.jar)由于此异常:
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)
我加了
<packaging>war</packaging>
给我的 pom.xml。这样maven就把依赖放到了target文件夹下。