Ant系列-第一个build.xml



Ant系列-第一个build.xml

前言

ANT是一个构建工具,它有跨平台、操作简单、安装简单、占用资源少等特点,它只有一个配置文件build.xml,我们要做的事情就是在build.xml中去定义我们想要做的事情,ANT它本身有很多命令和语法,笔者刚接触时也是比较头大,后面慢慢去学习查询,基本上了解了整个build.xml包含的内容,最好的学习办法就是查看例子,通过例子去熟悉不同标签里面的属性和参数的含义,我们不需要全部都要记住,只要在使用的时候知道如何去查询即可。

下面来构建我们第一个build.xml文件,这只是简单的开始:

在D:\test\ant\src下创建HelloWorld.java文件

  1. package test.ant;  
  2. public class HelloWorld {  
  3.     public static void main(String[] args) {  
  4.         System.out.println("Hello World");  
  5.     }  
  6. }  
package test.ant;
public class HelloWorld {
	public static void main(String[] args) {
		System.out.println("Hello World");
	}
}

在上一级目录创建build.xml文件,键入以下内容:

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <project name="HelloWorld" default="run" basedir="."><!-- 项目名为HelloWorld,default代表默认要做的事情,.代表当前目录-->  
  3.     <property name="src" value="src"/><!-- 定义src变量 -->  
  4.     <property name="dest" value="classes"/> <!-- 定义dest变量-->  
  5.     <property name="hello_jar" value="hello.jar"/><!-- 定义hello_jar变量-->  
  6.     <target name="init"> <!-- 定义一个目标,这里表示初始化,mkdir表示创建一个目录,${dest}表示取变量dest的值 -->  
  7.         <mkdir dir="${dest}"/>  
  8.     </target>  
  9.     <!-- 编译目标,depends是它依赖的target,在init执行过才执行compile-->  
  10.     <target name="complie" depends="init">   
  11.         <!-- 运行javac命令 srcdir源目录 destdir目标目录-->  
  12.         <javac srcdir="${src}" destdir="${dest}"/>  
  13.     </target>  
  14.     <!-- 构建目标,依赖compile-->  
  15.     <target name="build" depends="complie">  
  16.         <!-- 运行jar命令 jarfile为jar文件 basedir为classes-->  
  17.         <jar jarfile="${hello_jar}" basedir="${dest}"/>  
  18.     </target>  
  19.     <!--运行-->  
  20.     <target name="run" depends="build">  
  21.         <java classname="test.ant.HelloWorld" classpath="${hello_jar}"/>  
  22.     </target>  
  23.     <!-- 删除生成的文件-->  
  24.     <target name="clean">  
  25.         <delete dir="${dest}"/>  
  26.         <delete file="${hello_jar}"/>  
  27.     </target>  
  28.     <!--再次运行-->  
  29.     <target name="rerun" depends="clean,run">  
  30.         <ant target="clean"/>  
  31.         <ant target="run"/>  
  32.     </target>  
  33. </project>  
<?xml version="1.0" encoding="UTF-8"?>
<project name="HelloWorld" default="run" basedir="."><!-- 项目名为HelloWorld,default代表默认要做的事情,.代表当前目录-->
	<property name="src" value="src"/><!-- 定义src变量 -->
	<property name="dest" value="classes"/> <!-- 定义dest变量-->
	<property name="hello_jar" value="hello.jar"/><!-- 定义hello_jar变量-->
	<target name="init"> <!-- 定义一个目标,这里表示初始化,mkdir表示创建一个目录,${dest}表示取变量dest的值 -->
		<mkdir dir="${dest}"/>
	</target>
	<!-- 编译目标,depends是它依赖的target,在init执行过才执行compile-->
	<target name="complie" depends="init"> 
		<!-- 运行javac命令 srcdir源目录 destdir目标目录-->
		<javac srcdir="${src}" destdir="${dest}"/>
	</target>
	<!-- 构建目标,依赖compile-->
	<target name="build" depends="complie">
		<!-- 运行jar命令 jarfile为jar文件 basedir为classes-->
		<jar jarfile="${hello_jar}" basedir="${dest}"/>
	</target>
	<!--运行-->
	<target name="run" depends="build">
		<java classname="test.ant.HelloWorld" classpath="${hello_jar}"/>
	</target>
	<!-- 删除生成的文件-->
	<target name="clean">
		<delete dir="${dest}"/>
		<delete file="${hello_jar}"/>
	</target>
	<!--再次运行-->
	<target name="rerun" depends="clean,run">
		<ant target="clean"/>
		<ant target="run"/>
	</target>
</project>


来总结一下以上用到的元素:

project节点元素

Ant构建文件的根元素,属性:

  • name属性:用于指定project元素的名称。
  • default属性:用于指定project默认执行时执行的target的名称。
  • basedir属性:用于指定基路径的位置。

property节点元素

用于定义变量或参数的定义,属性:

  • name属性:变量名字
  • value属性:变量值

ant有一些内建的特性如:
ant.file-->构建文件如build.xml文件所在的路径
ant.home->ant的根路径
ant.java.version->java版本
ant.project.name->当前project的名字,在build.xml的开头指定
ant.version->ant版本

target节点元素

可以看做是一个任务,它有如下属性:

  • name属性:指定target元素的名称。
  • depends属性:用于描述target之间的依赖关系。
  • if属性:用于验证指定的属性是否存在,若不存在,所在target将不会被执行。
  • unless 属性:该属性的功能与 if 属性的功能正好相反,它也用于验证指定的属性是否存在,若不存在,所在 target 将会被执行。  
  • description 属性:该属性是关于 target 功能的简短描述和说明。 

mkdir命令

创建目录。

javac命令

用于编译一个或一组java文件。

jar命令

用来生成一个JAR文件。

delete命令

对文件或目录进行删除。



参考:ant入门使用指南 http://blog.csdn.net/ibm_hoojo/article/details/9093919

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值