【问题标题】:javamail using maven and tomcat 6javamail使用maven和tomcat 6
【发布时间】:2014-04-07 08:32:18
【问题描述】:

我在eclipse和tomcat服务器中使用maven。

我必须制作一个小程序,如果需要,每隔一小时使用 java 邮件发送一封电子邮件。

我在 webapp 中修改了我的 web.xml。

我像这样在 POM.xml 中添加了邮件。

<dependency>
    <groupId>javax.mail</groupId>
    <artifactId>mail</artifactId>
    <version>1.4.7</version>
    <scope>provided</scope>
    <exclusions>
        <exclusion>
            <artifactId>activation</artifactId>
            <groupId>javax.activation</groupId>
        </exclusion>
    </exclusions>
</dependency>

因为我使用的是 jdk 1.6,所以不需要激活。

我还修改了 context.xml

然后将 mail.jar 复制到 tomcat/lib 文件夹中。

但我遇到了奇怪的错误。

java.lang.ClassCastException: javax.mail.Session cannot be cast to javax.mail.Session
    at fr.project.batch.jobs.SendEmail.execute(SendEmail.java:53)
    at org.quartz.core.JobRunShell.run(JobRunShell.java:216)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549)
2014-04-07 10:01:47,539 ERROR   duler_Worker-1  Job (DEFAULT.SendMail threw an exception.   [ErrorLogger]
org.quartz.SchedulerException: Job threw an unhandled exception. [See nested exception: java.lang.ClassCastException: javax.mail.Session cannot be cast to javax.mail.Session]
    at org.quartz.core.JobRunShell.run(JobRunShell.java:227)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549)
Caused by: java.lang.ClassCastException: javax.mail.Session cannot be cast to javax.mail.Session
    at fr.project.batch.jobs.SendEmail.execute(SendEmail.java:53)
    at org.quartz.core.JobRunShell.run(JobRunShell.java:216)
    ... 1 more

我在 tomcat 6.0 JavaMail 资源中阅读了很多遍,并阅读了许多 stackoverflow 的答案。

【问题讨论】:

    标签: java eclipse maven tomcat jakarta-mail


    【解决方案1】:

    这个问题出现在服务器上,因为Tomcat的lib和你的应用程序都有自己的mail.jar副本(在WEB-INF/lib中),所以类加载器可以加载两个不同的Session。如果你删除邮件。 jar 从你的应用程序,这个问题将得到解决。

    【讨论】:

    • 非常感谢您的回答。但我的问题是 Eclipse。因为我是通过 Eclipse 启动的,所以我有一个错误。但是当我刚刚在tomcat服务器中使用war文件时它就可以工作了。 @ Kristjan Veskimäe 我正在使用 eclipse 在 tomcat 6.0 中进行测试。感谢您对这个问题的回答。
    猜你喜欢
    • 2014-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-03
    • 1970-01-01
    • 1970-01-01
    • 2011-10-22
    相关资源
    最近更新 更多