Apache Ant一个基于Java的生成工具

ant 是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。

使用

编写简单的build.xml(默认Ant会自动的在当前目录下去寻找这个文件,如果存在就去构建,如果找不到就会提示:build.xml does not exist!

创建build.xml文件内容如下:

<?xml version="1.0" encoding="utf-8"?>

<project default="init">

<target name="init">

<mkdir dir="filetest" />

</target>

</project>

意思是:在当前目录下创建一个名字为filetest的目录

ant语法

Antd使用XML编写来构建项目。每个生成文件由单个project元素组成,该元素又包含一个或多个target元素。一个目标(target)是生成过程中已定义的一个步骤,它执行任意数量的操作,比如编译一组源文件。并且这些操作本身是由其他专用的任务标签执行的顶级的project元素需要包含一个default属性,如果在Ant被调用时没有指定目标,这个属性将指定要执行的目标。然后需要使用target元素来定义该目标本身。

属性

Ant中属性类似编程语言中的变量,具有名称和值。与通常的变量不同,一经设置,Ant中是属性就不可更改;看起来似乎很有限制性,但这样是为了遵循Ant的简单原则:因为它是一个生成工具,而非一种编程语言。如果尝试给某个现有的属性赋予一个新的值,这不会看作是一个错误,但是该属性仍然会保留其现有的值

定义使用属性

<property name=”metal” value=”test”/>

为了在生成文件的其他部分引用这个属性,使用以下语法:

${metal}

如果为了属性成为另一个属性的值的组成部分,将标签写成下面这样

<property name=”metal-database” value=”${metal}.db”/>

ant的location属性专门设计用于以平台无关的文件系统路径。例如使用location替代value:

<property name=”database-file” location=”archive/database/${metal}.db”/>

location属性的路径分隔字符会被转换为当前平台的正确格式;而且由于文件名是相对的,它被认为是相对于项目的基目录。可以容易地写为下面这样:

<property name=”database-file” location=”archive\database\${metal}.db”/>

这个标签的两个版本都会在不同的平台具有相同的行为

定义依赖关系

生成一个项目一般需要许多步骤。其中许多步骤都具有清楚定义的顺序。与顺序指定target所不同的是,Ant采用一种更灵活的方法来定义依赖关系。每个目标的定义依据的是它能够执行之前必须完成的其他所有目标。这是使用target元素的depends属性来实现的,makefile中也存在这种用依赖关系。

例如:

<target name=”init”/>

<target name=”preprocess” depends=”init”/>

<target name=”compile” depends=”init,preprocess”/>

<target name=”package” depends=”compile”/>

执行顺序是由depends属性唯一确定的。

           

其他大家自己去探索吧,祝玩得开心。

参考

构建工具:

http://www.cnblogs.com/super-d2/archive/2012/12/31/2840989.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值