维基百科上对Ant的介绍:
Apache Ant,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。
由Apache软件基金会所提供。默认情况下,它的buildfile(XML文件)名为build.xml。每一个buildfile含有一个<project>
和至少一个预设的<target>
,这些targets包含许多task elements。每一个task element有一个用来被参考的id,此id必须是唯一的。
<project>
标签
default表示默认的执行目标,必须有的。
basedir-是工作的根目录 .号代表项目根目录,必须有的。
name表示项目名称。
<property>
标签
<property name="src" value="cn.hncu"/>
变量名为src,值为cn.hncu.
在其他标签中用${src}-引用src的值,cn.hncu.
<target>
标签
一个项目<project>
标签下可以有一个或多个target标签,
一个target标签可以依赖其他target标签,(被依赖的标签先执行)
target所有属性如下所示:
name表示这个标签的名字,这个属性是必须的。
depends表示依赖的目标target标签的name。
Ant的depends属性指定了target的执行顺序,Ant会依照depends属性中target标签出现顺序依次执行每个target,在执行之前首先执行它所依赖的target标签
if表示仅当属性设置时才执行。
unless表示当属性没有设置时才执行。
description表示项目的描述(或者是对这个标签的作用进行表述)。
<mkdir>
标签
该标签用于创建目录,它有一个属性dir用户指定所创建的目录.
<target name="md"> <mkdir dir="d:/a/a1"/> </target>
表示在D盘下创建a文件夹,a文件夹下创建a1文件夹。
<delete>
标签
该标签用于删除目录,它有一个属性dir用户指定删除的目录.
<target name="del"> <delete dir="d:/a/a1"></delete> </target>
表示删除d盘的a目录下的a1文件夹以及a1文件夹下的所有文件。
<jar>
标签
该标签用来生成一个JAR包
<target name="jar"> <jar basedir="." destfile="d:/a/mail.jar"> </jar> </target>
basedir表示被归档成jar的文件目录。
destfile表示压缩成jar输出到那个目录,名字为啥。
includes表示被归档的文件模式。
exchudes表示被排除的文件模式。
manifest属性指定自己的META-INF/MANIFEST.MF文件,而不是由系统生成
<echo>
标签
该标签用来在控制台输出信息,其输入如下:
message表示输入的内容。
<target name="hello2" depends="hello1" description="输出"> <echo message="Hello222"></echo> </target> <target name="hello1" > <echo message="Hello111"></echo> </target>
先输出Hello111再输出Hello222,因为hello2依赖hello1(depends)
标签
效果图:
<target name="jdoc"> <javadoc sourcepath="src" destdir="d:/a/a" packagenames="cn.hncu.*" encoding="utf-8" docencoding="gbk"> </javadoc> </target>
sourcepath-指定查找输入源文件的位置-src表示src下的所有源文件(.java)输入
destdir-输出的文件位置
packagenames-包名
encoding-源java文件的编码
docencoding-输出文件的编码
简单的例子:
<?xml version="1.0" encoding="utf-8"?> <project basedir="." name="myMailWeb" default="hello2" > <property name="src" value="src"/> <target name="hello2" depends="hello1" description="输出"> <echo message="Hello222"></echo> </target> <target name="hello1" > <echo message="Hello111"></echo> </target> <target name="jar"> <jar jarfile="mal.jar" basedir="." destfile="d:/a/mail.jar"> </jar> </target> <target name="jdoc"> <javadoc sourcepath="src" destdir="d:/a/a" packagenames="cn.hncu.*" encoding="utf-8" docencoding="gbk"> </javadoc> </target> <target name="md"> <mkdir dir="d:/a/a1"/> </target> <target name="del"> <delete dir="d:/a/a1" ></delete> </target> </project>
在myEclipse中的运行:
选第一个是上次运行的targets标签,如果上次没运行,就是默认的。
选第二个Ant Build….就是让我们自己选运行哪个或者哪几个。
description就是运行时有提示的那个。
ant的知识点太多了,其实只是一个辅助我们的工具,个人觉得完全没必要去很熟练的使用所有的,但是打jar包,输出Javadoc等常用的,还是必须熟练。