1.ant是什么?
-------------------------------------------------------------------------------- ant是一种基于java的build工具.理论上来说,它有些类似于(unix)c中的make ,但没有make的缺陷. 既然我们已经有了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 -exec rm {}`,但却给了你跨平台的能力-你可以在任何地方工作.如果你真的需要执行一些shell命令,ant有一个<exec> task,这个task允许执行特定os上的命令.2.安装ant
-------------------------------------------------------------------------------- 由于ant是一个open source的软件,所以有两种安装ant的方式,一种是用已编译好的binary 文件安装ant,另一种是用源代码自己build ant. binary 形式的ant可以从http://jakarta.apache.org/builds/ant/release/v1.4.1/bin下载.如果你希望你能自己编译ant,则可从 http://jakarta.apache.org/builds/ant/release/v1.4.1/src.注意所列出的连接都是最新发行版的ant.如果你读到此文时,发现已经有了更新的版本,那么请用新版本.如果你是一个疯狂的技术追求者,你也可以从ant cvs repository下载最新版本的ant. 系统需求 要想自己build ant.你需要一个jaxp兼容的xml解析器(parser)放在你的classpath系统变量中. binary 形式的ant包括最新版的apache crimson xml解析器.你可以从http://java.sun.com/xml/ 得到更多的关于jaxp的信息.如果你希望使用其他的jaxp兼容的解析器.你要从ant的lib目录中删掉jaxp.jar以及crimson.jar.然后你可将你心爱的解析器的jar文件放到ant的lib目录中或放在你的classpath系统变量中. 安装ant binary 版的ant包括三个目录:bin, docs 与lib.只有bin与lib目录是运行ant所需的.要想安装ant,选择一个目录并将发行版的文件拷贝到该目录下.这个目录被称作ant_home. 在你运行ant之前需要做一些配置工作. 将bin目录加入path环境变量. 设定ant_home环境变量,指向你安装ant的目录.在一些os上,ant的脚本可以猜测ant_home(unix与windos nt/2000)-但最好不要依赖这一特性. 可选地,设定java_home环境变量(参考下面的高级小节),该变量应该指向你安装jdk的目录. 注意:不要将ant的ant.jar文件放到jdk/jre的lib/ext目录下.... 下一页