Ant使用入门
2011年09月01日
Apache Ant是一个基于Java的构建工具。从理论上讲,也是一种类似于Make的工具,只是去除了Make工具的缺点。简单的说,Ant是一个基于Java,并且主要用于Java工程的构建工具。Ant本意是Another Neat Tool,也就是另一种整洁的工具,取首字符就是Ant。
* 下载并安装ant
1.下载Ant(http://www.apache.org),现在的最新版本是1.7.0,要下载的文件名为apache-ant-1.7.0-bin.zip 2.解压缩文件,放到指定的系统目录中,例如C:\Program Files\apache-ant-1.7.0 3.设置系统环境变量path,以便从命令行使用,设置方法为在已有的path值后添加C:\Program Files\apache-ant-1.7.0\bin(注意前面用分毫隔开) 安装完成后可通过ant -version来查看是否安装成功,在控制台输入ant -version,会显示Apache Ant version 1.7.0 compiled on December 13 2006,表示安装成功
* 使用ant
1.首先建立一个简单的project,让我们从hello ant!开始吧,该项目名称为FirstAnt,仅包含AntTest一个java文件,main函数的功能就是输出Hello ant! 代码如下:
Java代码
package ych.antest;
public class AntTest
{
public static void main(String[] args)
{
System.out.println("Hello ant!");
}
}
2.现在我们开始构建Ant,在d盘创建目录AntTest(命名随意),在AntTest目录下创建目录src(存放项目源代码,把项目的源代码拷到该目录下),在AntTest目录下创建ant的build文件build.xml,build.xml文件的内容如下:
Java代码
Compiles a simple program named AntTest
下面对上述内容做出解释每个build.xml文件的结构大体如下:
//a task,some operation
//a task,some operation
//a task,some operation
.
.
.
就是ant所有构建的项目,name属性为该项目的名称,default是执行ant命令时默认执行的目标 是ant在构件项目的过程中要执行的一个个目标任务,name属性为该目标的名称,另外,有些 有depends属性(值为其他一个或多个的name),表示该target有依赖性,执行之前一定要执行depends中所指定的其他target 表示某个target所有完成的某个操作,称为task,ant的task操作非常丰富,具体可参见ant文档http://ant.apache.org/manual/index.html 有了这样一个大概的了解,我们再来看上面具体的build.xml 表示项目名称为FirstAnt,并且当在控制台中输入ant命令时(没有参数),默认执行的target是 archive(输入ant命令时必须确保目录已转到d:/AntTest目录下),紧跟在project后的description是描述该 build.xml所要做的所有事.
Java代码
这是一个target单元,表示该target的name是init,description属性描述了该target所要做的事,是一个名为mkdir的task,表示在当前目录下创建一个classes目录,依此类推
Java代码
这是另一个target单元,表示该target的name是complie,这个target有depends属性,表示执行该target前另一个名为init的target应已执行,是一个名为javac的task操作,后面是该task所需的属性下面的各个target的含义依此类推...
3.打开控制台,转到的d:/Ant目录下,输入ant,执行完成后,根据build.xml的执行规则,在该目录下会有两个新的目录classes和dist里面分别有对应的class文件和jar文件。
至此,一个ant项目已构建完成。仔细回顾一下,我们发现build.xml文件中名为clean的task并没有被执行,那么如何执行它呢?我们只需用参数调用ant命令即可ant clean,执行完成后,刚刚创建的两个目录被删除。再仔细研究一下build.xml,我们得到:首先,一个build.xml文件是有固定结构的(上面已给出);其次,对于project和每个 target标签,都有固定名称的属性,这些名称是可选的,但每个属性的值都指定了一个作用;最后,每个他task都有固定的名称和对应的属性,都对应相应的操作,具体在ant文档中指出。
2011年09月01日
Apache Ant是一个基于Java的构建工具。从理论上讲,也是一种类似于Make的工具,只是去除了Make工具的缺点。简单的说,Ant是一个基于Java,并且主要用于Java工程的构建工具。Ant本意是Another Neat Tool,也就是另一种整洁的工具,取首字符就是Ant。
* 下载并安装ant
1.下载Ant(http://www.apache.org),现在的最新版本是1.7.0,要下载的文件名为apache-ant-1.7.0-bin.zip 2.解压缩文件,放到指定的系统目录中,例如C:\Program Files\apache-ant-1.7.0 3.设置系统环境变量path,以便从命令行使用,设置方法为在已有的path值后添加C:\Program Files\apache-ant-1.7.0\bin(注意前面用分毫隔开) 安装完成后可通过ant -version来查看是否安装成功,在控制台输入ant -version,会显示Apache Ant version 1.7.0 compiled on December 13 2006,表示安装成功
* 使用ant
1.首先建立一个简单的project,让我们从hello ant!开始吧,该项目名称为FirstAnt,仅包含AntTest一个java文件,main函数的功能就是输出Hello ant! 代码如下:
Java代码
package ych.antest;
public class AntTest
{
public static void main(String[] args)
{
System.out.println("Hello ant!");
}
}
2.现在我们开始构建Ant,在d盘创建目录AntTest(命名随意),在AntTest目录下创建目录src(存放项目源代码,把项目的源代码拷到该目录下),在AntTest目录下创建ant的build文件build.xml,build.xml文件的内容如下:
Java代码
Compiles a simple program named AntTest
下面对上述内容做出解释每个build.xml文件的结构大体如下:
//a task,some operation
//a task,some operation
//a task,some operation
.
.
.
就是ant所有构建的项目,name属性为该项目的名称,default是执行ant命令时默认执行的目标 是ant在构件项目的过程中要执行的一个个目标任务,name属性为该目标的名称,另外,有些 有depends属性(值为其他一个或多个的name),表示该target有依赖性,执行之前一定要执行depends中所指定的其他target 表示某个target所有完成的某个操作,称为task,ant的task操作非常丰富,具体可参见ant文档http://ant.apache.org/manual/index.html 有了这样一个大概的了解,我们再来看上面具体的build.xml 表示项目名称为FirstAnt,并且当在控制台中输入ant命令时(没有参数),默认执行的target是 archive(输入ant命令时必须确保目录已转到d:/AntTest目录下),紧跟在project后的description是描述该 build.xml所要做的所有事.
Java代码
这是一个target单元,表示该target的name是init,description属性描述了该target所要做的事,是一个名为mkdir的task,表示在当前目录下创建一个classes目录,依此类推
Java代码
这是另一个target单元,表示该target的name是complie,这个target有depends属性,表示执行该target前另一个名为init的target应已执行,是一个名为javac的task操作,后面是该task所需的属性下面的各个target的含义依此类推...
3.打开控制台,转到的d:/Ant目录下,输入ant,执行完成后,根据build.xml的执行规则,在该目录下会有两个新的目录classes和dist里面分别有对应的class文件和jar文件。
至此,一个ant项目已构建完成。仔细回顾一下,我们发现build.xml文件中名为clean的task并没有被执行,那么如何执行它呢?我们只需用参数调用ant命令即可ant clean,执行完成后,刚刚创建的两个目录被删除。再仔细研究一下build.xml,我们得到:首先,一个build.xml文件是有固定结构的(上面已给出);其次,对于project和每个 target标签,都有固定名称的属性,这些名称是可选的,但每个属性的值都指定了一个作用;最后,每个他task都有固定的名称和对应的属性,都对应相应的操作,具体在ant文档中指出。