Apache Ant 是一个基于 Java 的生成工具 (another neat tool). 使用 Ant ,您能够编写单个生成文件,这个生成文件在任何 Java 平台上都一致地操作(因为 Ant 本身也是使用 Java 语言来实现的);这就是 Ant 最大的优势。
Ant 没有定义它自己的自定义语法;相反,它的生成文件是用 XML 编写的 . 每个生成文件由单个 project 元素组成,该元素又包含一个或多个 target 元素。一个目标( target )是生成过程中已定义的一个步骤,它执行任意数量的操作,比如编译一组源文件。一次生成过程所必需的所有操作可以放入单个 target 元素中,但是那样会降低灵活性。将那些操作划分为逻辑生成步骤,每个步骤包含在它自己的 target 元素中,这样通常更为可取。这样可以执行整体生成过程的单独部分,却不一定要执行其他部分。例如,通过仅调用某些目标,您可以编译项目的源代码,却不必创建可安装的项目映像。
顶级 project 元素需要包含一个 default 属性,如果在 Ant 被调用时没有指定目标,这个属性将指定要执行的目标。然后需要使用 target 元素来定义该目标本身。下面是一个最基本的生成文件:






一次性打开和关闭一个元素也是可以做到的。因此,与其像上面那样 target 元素使用单独的起始和结束标签,我们可以将它写为如下形式:

当元素没有包含任何内容时,更简练的形式会更清晰。
看一个具体的例子:











Ant 中用于设置属性的机制 :

为了在生成文件的其他部分引用这个属性,使用以下语法 :
${metal}
为了使用这样一个值,它是另一个属性的值的组成部分,将标签写为下面这样:



属性经常用于引用文件系统上的文件或目录,但是对于使用不同路径分隔符(例如, / 与 \ )的平台来说,这样可能在跨越不同平台时导致问题。 Ant 的 location 属性专门设计用于以平台无关的方式包含文件系统路径。像下面这样使用 location 来代替 value :

用于 location 属性的路径分隔字符将被转换为当前平台的正确格式;而且由于文件名是相对的,它被认为是相对于项目的基目录。我们同样可以容易地写为下面这样:
<
property
name
="database-file"
location
="archive\databases\${metal}.db"
/>
定义依赖关系:
使用
target
元素的
depends
属性来实现






这种方法允许您执行项目任何阶段的生成过程; Ant 会首先执行已定义的先决阶段。在上面的例子中,如果让 Ant 完成 compile 步骤,它将判断出需要首先执行 init 和 preprocess 这两个目标。 init 目标不依赖其他任何目标,因此它将首先被执行。然后 Ant 检查 preprocesstarget ,发现它依赖 init 目标;由于已经执行了后者, Ant 不会再次执行它,因而开始执行 preprocess 目标。最后可以执行 compile 任务本身。注意目标出现在生成文件中的顺序并不重要:执行顺序是由 depends 属性唯一确定的。
Ant 在 Eclipse 中—— Ant 编辑器
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"> <img height="235" hspace="0" src="/images/cnblogs_com/jeffchen/EclipseAntEditor.jpg" width="600"></shapetype>
名为 build.xml 的文件在 Eclipse 的导航程序视图中使用一个 Ant 图标来标识和装饰。右键单击这些文件会提供一个 Run Ant... 菜单选项,选择这个菜单选项将打开一个类似如下的对话框:
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
来自该生成文件的所有目标都显示出来了,而默认的目标则处于选中状态。在您决定是否要改变默认目标之后,请按 Run 按钮来运行 Ant 。 Eclipse 将切换到 Console 视图,如下图所示。错误将以不同的颜色显示出来,可以单击输出中的任务名称来跳到生成文件中的对应调用点。
默认情况下, Eclipse 仅对名为 build.xml 的文件使用 Ant 编辑器,不过可以容易地配置该编辑器,使其识别具有其他名称的文件。从菜单上选择 Window=>Preferences ,然后展开 Workbench 组,再选择 File Associations 参数设置页面。然后为预期的文件名添加一种新的文件类型。例如,可以为名为 mybuild.xml 的所有文件添加一种新的文件类型。如果想对具有 .xml 后缀的所有文件(特殊文件名除外,比如 plugin.xml ,它在 Eclipse 中覆盖通配符指定)做同样的事情,您甚至可以使用 *.xml 。 最后为这种新的文件类型添加一个关联的编辑器,然后从编辑器列表上选择 Ant editor ,如下所示: