1.ant是什么
为什么已经有了make,gnumake,make,jam等build工具,还要一种新的build工具呢?因为ant的原作者无法忍受这些工具在跨平台开发时所带来的限制与不便.类似make的工具本质上都是基于shell的:它们计算依赖关系,然后执行命令.这些命令与你在命令行下执行的命令没有太大的区别.这意味着你能很容易的使用你的操作系统编写程序来扩展该工具;这也意味着你将自己限制在特定的操作系统上,至少是操作系统的类型上,例如unix. 【程序编程相关:编译、反编译、反反编译】
apache ant 是一个基于java的build工具,在理论上,它有点像make,但是没有make的缺陷. 【推荐阅读:PHP 5, Oracle, and t】
ant就不同了.与基于shell命令的扩展模式不同,ant用java的类来扩展.(用户)不必编写shell命令,配置文件是基于xml的,通过调用target树,可以执行各种task.每个task由一个实现特定task interface(接口)的object(对象)来运行.(如果你对ant一点概念都没有的话,可能看不懂这一节,没有关系,后面会对target,task做详细的介绍.你如果没有太多的时间甚至可以略过这一节,然后再回来浏览一下这里的介绍,那时你就会看懂了.同样,如果你对make之类的工具不熟悉也没关系,下面的介绍根本不会用到make中的概念.) 【扩展信息:java的xml编程(sax)】
makefiles也是很可恶的.任何使用过他们的人都碰到过可恶的tab问题.“我的命令不能执行是否只是因为我的tab前面有一个空格?”ant的作者说过这句话很多次了.有的工具比如jam能很好的处理这类问题,但是用户必须使用与记住另外一种新的格式.
必须承认,这样做,在构造shell命令时会失去一些特有的表达能力.如`find . -name foo -exec rm {}`,但却给了你跨平台的能力-你可以在任何地方工作.如果你真的需要执行一些shell命令,ant有一个<exec> task,这个task允许执行特定os上的命令.
2.安装ant
2.1获得ant
二进制版本(binary edition)
在ant的web网页http://ant.apache.org/可以得到ant最新的稳定的版本的信息.如果你疯狂的技术追求者(living on the edge?),你可以从http://cvs.apache.org/builds/ant/nightly/处下载到最新的版本
源码版本(source edition)
如果你更喜欢源码版本,你可以从 http://ant.apache.org/srcdownload.cgi处下载到最新版本的源码.... 下一页