帮助在OSX上为ANT安装FTP任务

时间:2011-04-19 07:30:34

标签: macos ant ftp

嘿,大家好。我目前正在尝试在OSX(Snow Leopard 10.6.7)上为我的ANT(版本1.8.2)安装设置FTP支持,我有点碰壁。我已经阅读了Apache.org上的文档,内容涉及新任务的安装以及遍布整个网络的几篇文章,我似乎无法让这件事工作。

我读过的所有文章都提到了两个特定的JAR文件,这些文件没有与ANT的默认安装一起打包:

  1. Commons-Net(2.2.0)
  2. 雅加达ORO(2.0.8)
  3. 显然,Jakarta ORO不再是一个活跃的Apache项目,但我能够找到一个存档版本。

    然后,显然,我所要做的就是将预编译的JAR文件放到相对于ANTs基本安装目录的lib文件夹中。我运行了以下命令:

    ant -diagnostics | grep ftp.*Available
    

    我收到以下回复:

    ftp : Not Available (the implementation class is not present)
    

    没有快乐。

    不确定还能做什么。从我读过的内容来看,我正在执行适当的步骤来使这件事发挥作用。

    所以,我做了几个小时的尽职调查,我别无选择,只能请大家帮忙。以下是-diagnostics开关输出的直接链接。希望有人可以解释我在这里做错了什么。

    http://www.thedrunkenepic.com/uploads/antDiagnostics.txt

    一如既往,我很感激能得到任何帮助!

    免责声明:过去几个月我一直在使用OSX,虽然我觉得使用终端很舒服,但我还是比较新的。所以,请...温柔。 :)

2 个答案:

答案 0 :(得分:5)

如果您不想仅仅为了添加依赖项而重新安装Ant,则可以执行以下操作:

  • 下载ant-commons-net.jar以获取您拥有的Ant版本(链接适用于Ant 1.8.2,它是OS X Lion中包含的Ant)。
  • 将jar放入~/.ant/lib/(如果没有,请创建该目录)。
  • 你已经完成了!

答案 1 :(得分:4)

OSX附带的ant版本不包含任何可选任务 - 不仅包括依赖项(例如commons-net),实现任务本身的jar文件也不存在。我认为在编译ant时,只有在机器上存在依赖项(因为它们引用它们)时才会构建这些任务,并且编译mac ant版本的apple工程师(或构建机器)没有依赖项。

例如:

~ $ ls /usr/share/java/ant-1.8.2/lib/ant-commons-net.jar
ls: /usr/share/java/ant-1.8.2/lib/ant-commons-net.jar: No such file or directory

但是(我从我的~/tools dir本地安装的Apache下载了ant:

~ $ ls tools/apache-ant-1.8.2/lib/ant-commons-net.jar 
tools/apache-ant-1.8.2/lib/ant-commons-net.jar

~ $ jar -tf tools/apache-ant-1.8.2/lib/ant-commons-net.jar | grep FTPTask.class
org/apache/tools/ant/taskdefs/optional/net/FTPTask.class

您最好的选择可能是获得ant direct from the Apache site的版本并在某处本地安装。