,bin加入path,测试是否成功,
则表示配置成功。
<?xml version="1.0" encoding="utf-8"?><project default="init"><target name="init"><mkdir dir="helloworld" /></target></project>

Ant没有定义自己的自定义语法;相反,它的生成文件是使用XML编写的。存在Ant能够理解的预定义XML元素,而且还可以定义新的元素来扩展Ant的功能。每个生成文件由单个project元素组成,该元素又包含一个或多个target元素。一个目标(target)是生成过程中已定义的一个步骤,它执行任意数量的操作,比如编译一组源文件。并且这些操作本身是由其他专用的任务标签执行的顶级的project元素需要包含一个default属性,如果在Ant被调用时没有指定目标,这个属性将指定要执行的目标。然后需要使用target元素来定义该目标本身。Ant中的属性类似编程语言中的变量,它们都具有名称和值。然而与通常的变量不同,一经设置,Ant中是属性就不可更改;它们是不可变的,就像Java语言中的String对象。这起初看起来似乎很有限制性,但这样是为了遵循Ant的简单原则:毕竟,它是一个生成工具,而非一种编程语言。如果尝试给某个现有的属性赋予一个新的值,这不会看作是一个错误,但是该属性仍然会保留其现有的值定义与使用属性<property name=”metal” value=”beryllium”/>为了在生成文件的其他部分引用这个属性,使用以下语法:${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”/>这个标签的两个版本都会在不同的平台具有相同的行为
生成一个项目一般需要许多步骤--例如首先要编译源代码,然后将它打包为Java归档文件(Java Archive File,JAR)。这其中许多步骤都具有清楚定义的顺序--例如,在编译器从源代码生成类文件之前,您不能打包类文件。与顺序指定target所不同的是,Ant采用一种更灵活的方法来定义依赖关系。每个目标的定义依据的是它能够执行之前必须完成的其他所有目标。这是使用target元素的depends属性来实现的
例如:
<target name=”init”/>
<target name=”preprocess” depends=”init”/>
<target name=”compile” depends=”init,preprocess”/>
<target name=”package” depends=”compile”/>
这种方法允许您执行项目任何阶段的生成过程;Ant会首先执行已定义的先决阶段。在上面的例子中,如果让Ant完成complie步骤,它将判断出需要首先执行init和和preprocess这两个目标。Init目标不依赖其他任何目标,因此它将首先被执行。然后Ant检查preprogress target,发现它依赖init目标;由于已经执行后者,Ant不会再次执行它,因此开始执行preprocess目标。最后可以执行compile任务本身。
注意目标出现在生成文件中的顺序并不重要:执行顺序是由depends属性唯一确定的。
<?xml version="1.0" encoding="utf-8"?><project name="initProject" default="package" basedir="."><property name="hello" value="hello123"/><property name="welcome" value="welcome123"/><target name="init"></target><target name="preprocess" depends="init"> <mkdir dir="${hello}"/> <mkdir dir="${welcome}"/></target><target name="compile" depends="init,preprocess"/><target name="package" depends="compile"/></project>
<?xml version="1.0" encoding="utf-8"?><project name="initProject" default="package" basedir="."><property name="compile" value="complile"/><property name="dist" value="dist"/><target name="init"></target><!--打包--><target name="preprocess" depends="init"><mkdir dir="${compile}"/><mkdir dir="${dist}"/></target><!--编译--><target name="compile" depends="init,preprocess"><javac srcdir="." destdir="${compile}"></javac></target><!--打包--><target name="package" depends="compile"><jar destfile="${dist}/package.jar" basedir="${compile}"><!--生成manifest文件--><manifest><attribute name="Built-By" value="${user.name}"/><attribute name="Main-Class" value="test"/></manifest></jar></target></project>
原文:http://www.cnblogs.com/liubo6/p/4491158.html