2013-04-15 155 views
1

下面是测试完成后运行的目标之一buil.xml(通过或失败)。该目标失败并给出错误“java.lang.ClassNotFoundException:javax.mail.internet.MimeMessage”。所以我扩展了mail.1.4.jar文件,看到这个类在那里。所以接下来我检查了这个jar是否存在于我的setclasspath目标中,并且它在那里。第三件事我检查了mail.1.4.jar是否包含在蚂蚁的路径中,它在那里。现在我无法理解为什么我得到这个错误。Build.xml无法发送电子邮件,给出“java.lang.ClassNotFoundException:javax.mail.internet.MimeMessage”错误

<target name="sendmail"> 
    <mail from="[[email protected]]" 
    subject="Test Email" mailhost="smpt.gmail.com" 
    user="myusername" password="mypassword" message="This is a test email"> 
     <to name="receivers name" address="[[email protected]]" /> 
    </mail> 
</target> 
+0

smpt.gmail.com应该是smtp.gmail.com –

回答

0

在类路径和相关传递依赖项中添加mail.jar。

好的尝试以下方法,首先在你的Ant安装,$ {ANT_HOME}/lib目录检查下列罐子存在,蚂蚁JavaMail的,如果不是:

您可以在这里找到如下:http://mvnrepository.com/artifact/org.apache.ant/ant-javamail

根据你的ant版本选择正确的一个。

将此jar复制到ant的lib目录中。并尝试重新运行该任务。

让我们知道它是否解决。

命令来运行

ant -f %ANT_HOME%/fetch.xml -Ddest=user -Dm2.url=repo1.maven.org/maven2 
+0

试过了,同样的错误。还有另外一种使用** ant -logger org.apache.tools.ant.listener.MailLogger **的方法,请问,请指导我如何使用它。 – user2172723

+0

我将检查并取回发布一个最小的build.xml,所以我们可以teston相同 –

+0

看到我更新的答案。 –

0

我之前接到了第一线的类似错误。您可能希望将mail.jar和activation.jar下载到您的ant库文件夹下,并在执行构建时确保使用 “ant -lib”和lib文件夹的路径。

1

如果Ant提供“java.lang.ClassNotFoundException:javax.mail.internet.MimeMessage”错误,则表示缺少一个jar。

转到findjar网站:http://www.findjar.com/,并通过搜索“javax.mail.internet.MimeMessage”找到相应的jar。你会发现它是mail.jar。

然后下载从中央Maven仓库的jar文件:https://mvnrepository.com/artifact/javax.mail/mail,例如,版本邮件1.4.7.jar,并把它在Ant lib目录:$ {ANT_HOME}/lib目录

应工作。