我有以下 Ant 邮件任务 -
<target name="sendtestreport" >
<mail mailhost="smtp.com" mailport="1025" subject="Test build" >
<from address="test@gmail.com" />
<replyto address="test@gmail.com" />
<to address="test@gmail.com" />
<message>test message</message>
<attachments>
</attachments>
</mail>
</target>
我的项目“lib”文件夹中同时提供了激活和邮件 jar。我希望能够发送邮件而不必将这些 jars 保存在 ant 下载位置。是否可以让 ant 知道我的“lib”文件夹以查看 javaxmail 和激活 jars。像如果我可以在此目标中指定类路径之类的东西。
现在当我执行这个目标时,我总是遇到异常 -
BUILD FAILED
java.lang.ClassNotFound
Exception: javax.mail.internet.MimeMessage
最佳答案
不幸的是你不能。
您必须以某种方式将 Library Dependencies 放入 ant 类路径中。
这可能是 ANTH_HOME/lib 目录或对命令行参数的更改。
Ant 有一个 command-line argument 来指定一个 lib 目录:
-lib <path> specifies a path to search for jars and classes
您也可以使用该信息从 ant 本身调用 ant,这可能有点难看:
<exec executable="ant">
<arg value="-lib"/>
<arg value="PATH_TO_MY_LIB"/>
<arg value="target"/>
</exec>
如果从 Eclipse 执行此任务,则可以将库添加到任务的运行定义中,并与其他开发人员共享此运行定义。
关于java - 在外部位置使用邮件和激活 jar 的 ant 邮件任务,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8313100/