Ant,apache开源项目,基于Java的构建工具,是一个小程序。它通过自动完成所有的编译代码,运行测试以及
打包重新部署等繁琐费力的任务来帮助软件团队开发大程序;
Ant的目标是自动完成所有的构建过程;
安装:
和安装JDK一样,在环境变量配置ANT_HOME;
然后在PATH加上%ANT_HOME%bin;
要求先有JDK环境,因为基于Java的构建工具,所以要先配置JDK;
配置好可以子啊控制台输入 ant -version 测试是否安装成功;
运行ant例子:
新建空文件夹;
控制台进入该文件夹;
新建a.xml :
<project name="MyProject" default="demo1"> <target name="demo1"> <echo message="hello www"/> </target> </project>
控制台输入 ant -f a.xml; (如果输入ant默认执行build.xml)
输出 [echo] hello www
ant -f a.xml demo1 : 执行a.xml 的名为demo1的target;
Ant的核心:构建文件
用来描述如何创建工程,在这个文件里,开发者列出各种构建目标以及达成这些目标的任务;配置文件默认名是
build.xml,如果自己命名如:a.xml那么在执行时用:ant -f a.xml;
重点是学习写配置文件build.xml; 下面举几个例子,了解更多可以看文档
根元素是project
1,输出信息
<!--工程--> <project name="MyProject" default="demo1"> <!--容器->相当于数据库中的事务 --> <target name="demo1"> <!--回显HelloWorld ..--> <echo message="hello www" /> <echo>my name is jerome</echo> </target> <!-- --> </project>
在控制台输入ant -f a.xml 输出信息;(有时候报错是因为文件不是utf-8,修改一个编码就可以)
2.回显属性
<!--工程--> <project name="MyProject" default="demo1"> <property name="p1" value="hello p1"></property> <!--容器->相当于数据库中的事务 --> <target name="demo1"> <!--回显HelloWorld ..--> <echo message="hello www" /> <echo>my name is jerome</echo> </target> <!--属性--> <target name="demo2"> <!--回显属性--> <echo>${p1}</echo> <!-- --> </target> </project>
控制台输入 ant -f a.xml demo2 输出hello p1;
3.拷贝 在当前文件夹新建1.txt
<!--工程--> <project name="MyProject" default="demo1"> <property name="p1" value="hello p1"></property> <!--容器->相当于数据库中的事务 --> <target name="demo1"> <!--回显HelloWorld ..--> <echo message="hello www" /> <echo>my name is jerome</echo> </target> <!--属性--> <target name="demo2"> <!--回显属性--> <echo>${p1}</echo> <!-- --> </target> <!--拷贝--> <target name="demo3"> <echo message="拷贝文件" /> <copy file="1.txt" todir="../d1" ></copy> </target> </project>
执行 ant -f a.xml demo3 ;
其实我们会发现这些命令都是dos命令;
执行一个java例子:
在src目录下新建HelloWorld.java
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello world !"); } }
(可以在Eclipse新建HelloWorld然后直接拷贝过来)
配置文件修改如下:
<!--工程--> <project name="MyProject" default="run"> <!--初始化操作 新建文件夹--> <target name="init"> <!--在当前文件夹下新建文件夹build/classes--> <mkdir dir="build/classes" /> <mkdir dir="dist" /> </target> <!--编译 --> <target name="compile"> <javac srcdir="src" destdir="build/classes" /> <echo>编译完成!</echo> </target> <target name="archive" depends="compile"> <jar destfile="dist/project.jar" basedir="build/classes" /> </target> <!--删除文件夹 --> <target name="clean" depends="init"> <delete dir="build" /> <delete dir="dist" /> </target> <!--运行程序--> <target name="run" depends="compile"> <java classname="HelloWorld" classpath="build/classes"></java> </target> </project>
1, 执行前先初始化,创建文件夹:ant –f a.xml init
2, 执行 程序:运行 ant –f a.xml 成功输出:Hello world !
3, 打包成jar包: ant –f a.xml archive
4, 删除文件夹 ant –f a.xml clean