在Macintosh上缺少ant-javamail.jar文件

时间:2008-10-26 20:00:06

标签: java macos ant

我一直在Macintosh(10.5.5)的命令行中运行内置Ant,并且遇到了 Mail 任务的问题。运行Mail任务会生成以下消息:

[mail] Failed to initialise MIME mail: org.apache.tools.ant.taskdefs.email.MimeMailer

这很可能是由于/ usr / share / ant / lib目录中缺少ant-javamail.jar文件。我在这个目录中看到了一个“ant-javamail-1.7.0.pom”文件,但没有相应的jar文件。任何人都知道为什么这个jar文件可能会丢失,解决问题的最佳方法是什么?

3 个答案:

答案 0 :(得分:2)

以下是我最终解决问题的方法:

  1. http://ant.apache.org/
  2. 下载最新版本的Ant
  3. “内置”Ant安装在/ usr / share / ant中;我不想覆盖那个版本所以我将新的完整版本解压缩到/usr/local/share/apache-ant-1.7.1/
  4. 正如npellow所指出的那样,Mac不包含mail.jar或activation.jar - 这些文件可以分别从JavaMail APIJavaBeans Activation Framework下载并提取并复制到 new ant lib文件夹(与所有ant - * .jar文件相同的文件夹)
  5. ant命令(/ usr / bin / ant)是/ usr / share / ant / bin / ant的符号链接;我更新了此链接以指向新版本(ln -s /usr/local/share/apache-ant-1.7.1/bin/ant /usr/bin/ant
  6. 如果由于某种原因你需要再次使用旧版本的Ant,只需使用
    ln -s /usr/share/ant/bin/ant /usr/bin/ant

    步骤2-4在命令提示符下以root身份完成。就是这样 - Mac现在拥有最新的完整版本的Ant,而Mail任务也可以正常运行。

答案 1 :(得分:1)

http://java.sun.com/products/javamail/下载Java Mail库。 您还需要http://java.sun.com/products/javabeans/glasgow/jaf.html

此处列出了Ant的可选任务所需的所有外部依赖关系的列表http://ant.apache.org/manual/index.html

另一种非常容易获取Ant依赖关系的方法是运行:

ant -f fetch all
来自$ ANT_HOME的

您还可以运行-projecthelp以获取完整的目标列表:

all         load all the libraries
 antlr       load antlr libraries
 bcel        load bcel libraries
 beanshell   load beanshell support
 bsf         load bsf libraries
 debugging   internal ant debugging
 get-m2      Download the Maven2 Ant tasks
 jdepend     load jdepend libraries
 jruby       load jruby
 junit       load junit libraries
 jython      load jython
 logging     load logging libraries
 networking  load networking libraries (commons-net; jsch)
 regexp      load regexp libraries
 rhino       load rhino
 script      load script languages
 xerces      load an updated version of Xerces
 xml         load full XML libraries (xalan, resolver)

答案 2 :(得分:0)

我的工作方式略有不同:

  1. 创建目录~/.ant/lib
  2. 下载JavaMail API并将jar文件复制到该目录中。
  3. 下载JavaBeans Activation Framework并将jar文件复制到该目录中。
  4. 已下载Apache Ant 1.7.0(不是最新版本,与已安装的版本匹配)并将apache-ant-1.7.0/lib/ant-javamail.jar文件复制到该目录中。
  5. 这只解决了单个用户帐户的问题,但这对我的目的来说很好,并且省去了在我的计算机上安装两个单独的ant的麻烦。