Ant - 编译打包工具.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Ant - 编译打包工具

Ant Ant AAnntt工具 Ant是一种基于Java 的build工具。理论上来说,它有些类似于(Unix)C中的make , 但没有make的缺陷。目前的最新版本为:Ant1.8.2。 既然我们已经有了make,gnumake, nmake,jam 以及其他的build工具为什么还要要一种 新的build工具呢?因为Ant的原作者在多种(硬件)平台上开发软件时,无法忍受这些工具 的限制和不便。类似于make的工具本质上是基于shell(语言)的:他们计算依赖关系,然 后执行命令(这些命令与你在命令行敲的命令没太大区别)。这就意味着你可以很容易地通 过使用OS 特有的或编写新的(命令)程序扩展该工具;然而,这也意味着你将自己限制在 了特定的OS,或特定的OS 类型上,如Unix。 Makefile 也很可恶。任何使用过他们的人都碰到过可恶的tab问题。Ant的原作者经常 这样问自己:“是否我的命令不执行只是因为在我的tab前有一个空格?!!”。类似于jam 的工具很好地处理了这类问题,但是(用户)必须记住和使用一种新的格式。 Ant就不同了。与基于shell命令的扩展模式不同,Ant用Java的类来扩展。(用户)不 必编写shell命令,配置文件是基于XML 的,通过调用target树,就可执行各种task。每个 task由实现了一个特定Task接口的对象来运行。(如果你对Ant 一点概念都没有的话,可能 看不懂这一节,没有关系,后面会对target,task做详细的介绍。你如果没有太多的时间甚至 可以略过这一节,然后再回来浏览一下这里的介绍,那时你就会看懂了。同样,如果你对 make之类的工具不熟悉也没关系,下面的介绍根本不会用到make 中的概念。) 必须承认,这样做,在构造shell命令时会失去一些特有的表达能力。如`find.-name foo -execrm{}`,但却给了你跨平台的能力-你可以在任何地方工作。如果你真的需要执行一 些shell命令,Ant有一个exectask,这个task允许执行特定OS 上的命令。 Ant Ant AAnntt的概念 当一个代码项目大了以后,每次重新编译,打包,测试等都会变得非常复杂而且重复, 因此c语言中有make脚本来帮助这些工作的批量完成。在Java 中应用是平台无关性的, 当然不会用平台相关的make脚本来完成这些批处理任务了,ANT 本身就是这样一个流程脚 本引擎,用于自动化调用程序完成项目的编译,打包,测试等。除了基于JAVA是平台无关 的外,脚本的格式是基于XML 的,比make脚本来说还要好维护一些。 每个ant脚本(缺省叫build.xml)中设置了一系列任务(target):比如对于一个一般的项 目可能需要有以下任务。 * 任务1:usage 打印本脚本的帮助信息(缺省) * 任务2:clean--init 清空初始化环境 * 任务3:javadoc-- build-- init 生成JAVADOC * 任务4:jar --build--init 生成JAR * 任务5:all --jar+ javadoc--build--init 完成以上所有任务:jarjavadoc 而多个任务之间往往又包含了一定的依赖关系:比如把整个应用打包任务(jar)的这个依 赖于编译任务(build),而编译任务又依赖于整个环境初始化任务(init)等。 注:我看到很多项目的ant脚本中的命名基本上都是一致的,比如:编译一般叫build 或者compile;打包一般叫jar 或war;生成文档一般命名为 javadoc或javadocs;执行全部 任务all。在每个任务的中,ANT会根据配置调用一些外部应用并配以相应参数执行。虽然 ANT 可调用的外部应用种类非常丰富,但其实最常用的就2,3个:比如javacjavadocjar 等。 Ant makefile Ant makefile AAnntt与mmaakkeeffiillee的比较 Makefile 有一些不足之处,比如很多人都会碰到的烦人的Tab问题。最初的Ant开发者 多次强调”只是我在Tab前面加了一个空格,所以我的命令就不能执行”。有一些工具在一定 程度上解决了这个问题,但还是有很多其他的问题。Ant 则与一般基于命令的工具有所不同, 它是J

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档