关于Apache Ant介绍的一般内容

  • 本文关键字:Apache Ant 关于 java ant
  • 更新时间 :
  • 英文 :


在Apache Ant的介绍中说

既然已经有了make、gnumake、nmake、jam等构建工具,为什么还要再来一个呢?因为所有这些工具都有局限性,这是Ant的原作者在跨平台开发软件时无法忍受的。类make工具本质上是基于shell的:它们评估一组依赖项,然后执行命令,这与您在shell上发出的命令没有什么不同。这意味着你可以通过使用或为你正在使用的操作系统编写任何程序来轻松扩展这些工具;然而,这也意味着您将自己限制在您正在使用的操作系统中,或者至少是操作系统类型,例如Unix。

我不明白这句话:

"这意味着你可以很容易地扩展这些工具,通过使用或编写任何程序,你正在工作的操作系统"

"当然,这样做会减少构建shell命令(如find . -name foo -exec rm {})所固有的表达能力,"
如果有人能帮助我理解这个,请。由于

例如,假设我正在为unix进行开发,并且我需要保存一个充满秘密的文件,作为构建过程的一部分。在make中,规则是这样的:

kfc-spices.rot13.txt: kfc-spices.txt
    tr 'A-Za-z' 'N-ZA-Mn-za-m' < kfc-spices.txt > kfc-spices.rot13.txt

仅仅用了两行文本,我就很容易地扩展了我的构建系统,通过使用我的操作系统提供的程序来保存文件。另一方面,我的构建过程将在没有提供名为tr的程序的系统上完全失败,该程序的作用类似于unix的tr

"授予"行指的是ant是通过编写java类而不是通过运行OS命令来扩展的事实。因此,要在ant中移植文件,必须用java编写自定义任务。这是更多的工作,最终可能会减少灵活性。make示例可以简单地修改为双Rot13。但是,以最初开发人员没有想到的方式使用ant任务可能会很困难。

相关内容

  • 没有找到相关文章

最新更新