使用maven和Tomcat6的javamail

使用maven和Tomcat6的javamail,java,eclipse,maven,tomcat,jakarta-mail,Java,Eclipse,Maven,Tomcat,Jakarta Mail,我在eclipse和tomcat服务器中使用maven 我必须做一个小程序,如果需要的话,每一小时用java邮件发送一封电子邮件 我已在webapp中修改了我的web.xml 我像这样在POM.xml中添加了邮件 <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</ver

我在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>

我在tomcat 6.0 JavaMail Resources中读过很多次,也读过很多关于stackoverflow的答案。

这个问题发生在服务器上,因为tomcat的lib和您的应用程序都有自己的mail.jar副本(在WEB-INF/lib中),所以类加载器可以加载两个不同的会话。如果您从应用程序中删除mail.jar,这个问题会解决的。

非常感谢您的回答。但我的问题是日食。因为我是通过eclipse启动的,所以我有一个eror。但当我刚刚在tomcat服务器中使用war文件时,它可以正常工作。@Kristjan Veskimäe我正在使用eclipse在tomcat 6.0中进行测试。我感谢你对这个问题的回答。
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