下面是测试,buil.xml(合格或不合格)完成后运行的目标之一。 这个目标失败,并给予错误“抛出java.lang.ClassNotFoundException:的javax.mail.internet.MimeMessage”。 所以,我扩大了mail.1.4.jar文件,看到这个类在那里。 所以下次我检查这个罐子在那里我setclasspath目标或没有,它在那里。 我检查了mail.1.4.jar第三件事被列入蚂蚁的路径或不和它在那里。 现在我无法理解为什么我收到此错误。
<target name="sendmail">
<mail from="[myname@company.com]"
subject="Test Email" mailhost="smpt.gmail.com"
user="myusername" password="mypassword" message="This is a test email">
<to name="receivers name" address="[receiver@gmail.com]" />
</mail>
</target>
如果蚂蚁给出了“抛出java.lang.ClassNotFoundException:的javax.mail.internet.MimeMessage”的错误,这意味着有一个罐子失踪。
转至findjar网站: http://www.findjar.com/ ,并通过搜索“的javax.mail.internet.MimeMessage”找到相应的罐子。 你会发现它的mail.jar。
:然后下载从中央Maven仓库的jar文件https://mvnrepository.com/artifact/javax.mail/mail在Ant lib目录下,例如,版本邮件1.4.7.jar,并把它:$ { ANT_HOME} / lib目录
这应该工作。
在类路径和相关的传递依赖添加的mail.jar。
好的尝试以下方法,首先在你的Ant安装,$ {ANT_HOME} / lib目录检查下列罐子存在,蚂蚁JavaMail的,如果不是:
您可以在这里找到如下: http://mvnrepository.com/artifact/org.apache.ant/ant-javamail
根据你的蚂蚁版本选择正确的一个。
这个罐子蚂蚁的lib目录复制。 并尝试重新运行任务。
我们知道它是否解决。
命令来运行
ant -f %ANT_HOME%/fetch.xml -Ddest=user -Dm2.url=repo1.maven.org/maven2
我之前接到了第一线的类似错误。 你可能想同时下载了mail.jar和activation.jar你的蚂蚁库文件夹下位于当你执行的身材,请确保您使用的“蚁族-lib”的路径到你的lib文件夹。
如果您是通过Groovy中使用Ant,那么你可以通过添加必要的库@Grab
像这样:
@GrabConfig(systemClassLoader=true)
@Grapes([
@Grab(group='org.apache.ant', module='ant-javamail', version='1.10.7'),
@Grab(group='com.sun.mail', module='javax.mail', version='1.6.2')
])
文章来源: Build.xml is failing to send email, gives “java.lang.ClassNotFoundException: javax.mail.internet.MimeMessage” error