我试图将Javamail 1.5.1与Tomcat 7和Eclipse Kepler结合使用。

当我尝试发送电子邮件时,Tomcat崩溃并显示以下错误...

从文档中,我了解到我现在需要的所有内容都在javax.mail.jar中。我在webapp的WEB-INF / lib文件夹中有此文件。

我认为这是在抱怨找不到javax.mail.Authenticator。但是我已经确认该类在jar中。

这应该很容易。有人可以指出我所缺少的吗?

我还将该jar添加到了Eclipse偏好设置中作为库。

另外...在哪里可以获得下载的javadoc,以便也可以将其添加到eclipse?即,所以我可以将鼠标悬停在单词上并获取文档?

谢谢

java.lang.NoClassDefFoundError: javax/mail/Authenticator
org.apache.naming.factory.MailSessionFactory.getObjectInstance(MailSessionFactory.java:106)
org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:143)
javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:321)
org.apache.naming.NamingContext.lookup(NamingContext.java:843)
org.apache.naming.NamingContext.lookup(NamingContext.java:154)
org.apache.naming.NamingContext.lookup(NamingContext.java:831)
org.apache.naming.NamingContext.lookup(NamingContext.java:168)
util.SendEmails.<init>(SendEmails.java:47)
...

最佳答案

我遇到了完全相同的问题,并通过将Java Mail jar添加到tomcat lib目录中来解决此问题。

我在想错误的原因是,在JNDI查找期间,不会加载webapp本身的类,因此,要使JNDI正常工作,您需要将jar直接提供给tomcat,而不是在webapp中。

09-15 23:33