Ant系统构建工具的使用

来源:互联网 发布:流程绘图软件 编辑:程序博客网 时间:2024/05/28 15:07

nt是Apache旗下基于Java的开源系统构建工具(类似make、gunmake、nmake、jam),可以帮助程序员完成编译、打包、上传等功能。使用ant的大体步骤如下:1.下载程序2.配置ANT_HOME和Path变量3.编写build.xml文件4.执行程序。Ant工具基于Java语言实现,要求系统必须安装了JDK。它支持java编写的插件和接口。

1.下载程序:下载apache-ant-1.8.4-bin.zip版本。

2.配置ANT_HOME和Path,ANT_HOME为ant所在目录,而path中添加bin可执行文件目录%ANT_HOME%\bin;


配置完成后,使用ant –version测试是否安装成功。


3.编写build.xml文件。首先我们描述一个手动开发过程,再用Ant自动构建工具来构建。

首先来看开发一个普通的helloworld项目,在d:\helloword项目文件夹下需要执行Mkdirsrc bin output建立三个目录,使用文本编辑器编写java代码。使用Javac –d bin src\hello.java来编译文件,放到bin目录下。再用Jar cvfoutput\hello.jar bin\*打包文件到output目录下,使用Java hello执行代码。虽然步骤并不复杂,但如果没修改一次都要重复执行上述步骤的话,也是一部很大的工作量。所谓程序员,就是DRY(don't repeat yourself)。这种傻事,交给Ant来做。

Ant使用build.xml确定构建过程,build文件是标准xml文件,以project为根,target为子元素,一个target代表一个执行系列,如删除文件,编译,打包等。而这些target之间使用depends来指出他们之间的项目关系。

编写build.xml文件:在项目根目录下建立build.xml文件,首先编写根目录和删除已生成文件的target。

[html] view plaincopy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <project name="hello" default="delete">  
  3.          <targetnametargetname="delete">  
  4.                   <deletedirdeletedir="bin" includes="*"/>  
  5.                   <deletedirdeletedir="output" includes="*"/>  
  6.          </target>  
  7. </project>  

在cmd命令行下进入工程根目录,执行不带参数的ant命令,自动执行上述文件,返回一些提示信息,删除了bin和output目录下的所有文件。


继续编写编译、打包等命令。

[html] view plaincopy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <project name="project" default="run">  
  3.          <targetnametargetname="delete">  
  4.                   <deletedirdeletedir="bin" includes="*"/>  
  5.                   <deletedirdeletedir="output" includes="*"/>  
  6.          </target>  
  7.          <targetnametargetname="compile" depends="delete">  
  8.                   <javacdestdirjavacdestdir="bin" srcdir="src"includeantruntime="on"/>  
  9.          </target>  
  10.           
  11.          <targetnametargetname="jar" depends="compile">  
  12.                   <jardestfilejardestfile="output/hello.jar" basedir="bin"/>  
  13.          </target>  
  14.    
  15.          <target name="run"depends="jar">  
  16.                   <javadirjavadir="bin" classname="hello" classpath="bin"/>  
  17.          </target>  
  18.           
  19. </project>  

注意javac命令行可能需要添加includeantruntime="on"。以上执行结果为:


以后执行ant命令相当于执行上述所有操作。

0 0
原创粉丝点击