下面是测试完成后运行的目标之一,build .xml(通过或失败)。此目标失败并给出错误"java.lang. lang. "ClassNotFoundException: javax.mail.internet.MimeMessage"。所以我展开了mail.1.4.jar文件,看到了这个类。接下来我检查这个jar是否在setclasspath target中,它在那里。第三件事,我检查了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>
如果Ant给出" java.lang. net "ClassNotFoundException: javax.mail.internet.MimeMessage "错误,这意味着有一个jar丢失。
进入findjar网站:http://www.findjar.com/,通过搜索"javax.mail.internet.MimeMessage"找到相应的jar。你会发现它是mail.jar。
然后从中央Maven存储库:https://mvnrepository.com/artifact/javax.mail/mail下载jar文件,例如,version mail-1.4.7.jar,并将其放在Ant lib目录中:${ANT_HOME}/lib
应该可以。
在类路径和相关的传递依赖项中添加mail.jar。
好的,尝试以下操作,首先在ant安装中,${ANT_HOME}/lib检查是否存在以下jar,如果不是,则检查ant-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
我从第一个线程之前得到了类似的错误。您可能希望下载mail.jar和activation.jar,它们位于ant库文件夹下,当您执行构建时,请确保使用
如果你通过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')
])