Build.xml无法发送电子邮件,给出“0”;java.lang.ClassNotFoundException:javax.mail.internet.MimeMessage“;错误

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

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

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

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

好的,首先在ant安装中,${ant_HOME}/lib检查以下jar是否存在,ant javamail是否存在:

您可以在此处找到以下内容:

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

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

如果问题解决了,请告诉我

运行命令

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

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

好的,首先在ant安装中,${ant_HOME}/lib检查以下jar是否存在,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库文件夹下,并且在执行构建时,确保使用
“ant-lib”与lib文件夹的路径相同。

我之前从第一个线程中得到了类似的错误。您可能希望下载mail.jar和activation.jar,使其位于ant库文件夹下,并且在执行构建时,确保使用
带有lib文件夹路径的“ant-lib”。

如果ant给出“java.lang.ClassNotFoundException:javax.mail.internet.MimeMessage”错误,则表示缺少一个jar

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

然后从中央Maven存储库下载jar文件:,例如,版本mail-1.4.7.jar,并将其放入Ant-lib目录:${Ant_-HOME}/lib


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

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

然后从中央Maven存储库下载jar文件:,例如,版本mail-1.4.7.jar,并将其放入Ant-lib目录:${Ant_-HOME}/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')
])

如果您通过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')
])

我试过了,同样的错误。还有另一种使用ant-logger org.apache.tools.ant.listener.MailLogger的方法,请您指导我如何使用它。我将检查并返回一个minimal build.xml,以便我们可以测试sameant javamail,因为它不存在,所以我下载了它的1.8.2版本并添加了它。我转到Windows>>Preferenes>>Ant>>runtime>>global entries并单击AddJAR(通过EclipseIDE)。现在,错误发生了一些变化。现在它显示:sendmail:[mail]无法发送电子邮件:javax.mail.internet.MimeMessage BUILD Failed/home/quov/Desktop/myproject/BUILD.xml:157:java.lang.ClassNotFoundException:javax.mail.internet.MimeMessageMake确保正确设置了任意home,然后执行以下命令:查看更新后的应答尝试,相同错误。还有另一种使用ant-logger org.apache.tools.ant.listener.MailLogger的方法,请您指导我如何使用它。我将检查并返回一个minimal build.xml,以便我们可以测试sameant javamail,因为它不存在,所以我下载了它的1.8.2版本并添加了它。我转到Windows>>Preferenes>>Ant>>runtime>>global entries并单击AddJAR(通过EclipseIDE)。现在,错误发生了一些变化。现在它显示:sendmail:[mail]无法发送电子邮件:javax.mail.internet.MimeMessage BUILD Failed/home/qoov/Desktop/myproject/BUILD.xml:157:java.lang.ClassNotFoundException:javax.mail.internet.MimeMessage确保正确设置了任何主页,然后执行以下命令:查看更新的answersmpt.gmail.com应为smtp.gmail.comspmt.gmail.com应为smtp.gmail.com