<?
xml version
=
"
1.0
"
encoding
=
"
UTF-8
"
?>
< project name = " project test " default = " dist " basedir = " ../ " >
<!-- import the properties file -->
< property file = " build/building.properties " />
<!-- Constant Variable Information -->
< property name = " SRC_HOME " value = " ${SRC_DIR} " ></ property >
< property name = " SRC " value = " src " />
< property name = " buildDir " value = " class " ></ property >
< property name = " distDir " value = " dist " />
< property name = " package " value = " test " />
< path id = " classpath " >
< fileset dir = " ${Library} " >
< include name = " *.jar " />
</ fileset >
</ path >
< target name = " init " description = " initialize the project " >
< echo > Ready to make directory: $ {distDir} . </ echo >
< mkdir dir = " ${distDir} " />
< echo > Ready to make directory: $ {buildDir} . </ echo >
< mkdir dir = " ${buildDir} " />
</ target >
< target name = " precompile " depends = " init " description = " procompile " >
< echo > Ready to do something before compiling </ echo >
</ target >
< target name = " compile " depends = " precompile " >
< javac srcdir = " ${SRC_HOME} " destdir = " ${buildDir} " classpathref = " classpath " />
</ target >
< target name = " dist " depends = " compile " description = " build jar " >
< jar destfile = " ${distDir}/${package}.jar " basedir = " ${buildDir} " >
< manifest >
< attribute name = " Built-By " value = " ${user.name} " />
< attribute name = " Main-Class " value = " test.Main " />
</ manifest >
</ jar >
< jar destfile = " ${distDir}/${package}_src.jar " basedir = " ${buildDir} " />
</ target >
< target name = " clean " description = " clean the directory " >
< delete dir = " ${distDir} " quiet = " true " ></ delete >
< delete dir = " ${buildDir} " quiet = " true " ></ delete >
</ target >
</ project >
< project name = " project test " default = " dist " basedir = " ../ " >
<!-- import the properties file -->
< property file = " build/building.properties " />
<!-- Constant Variable Information -->
< property name = " SRC_HOME " value = " ${SRC_DIR} " ></ property >
< property name = " SRC " value = " src " />
< property name = " buildDir " value = " class " ></ property >
< property name = " distDir " value = " dist " />
< property name = " package " value = " test " />
< path id = " classpath " >
< fileset dir = " ${Library} " >
< include name = " *.jar " />
</ fileset >
</ path >
< target name = " init " description = " initialize the project " >
< echo > Ready to make directory: $ {distDir} . </ echo >
< mkdir dir = " ${distDir} " />
< echo > Ready to make directory: $ {buildDir} . </ echo >
< mkdir dir = " ${buildDir} " />
</ target >
< target name = " precompile " depends = " init " description = " procompile " >
< echo > Ready to do something before compiling </ echo >
</ target >
< target name = " compile " depends = " precompile " >
< javac srcdir = " ${SRC_HOME} " destdir = " ${buildDir} " classpathref = " classpath " />
</ target >
< target name = " dist " depends = " compile " description = " build jar " >
< jar destfile = " ${distDir}/${package}.jar " basedir = " ${buildDir} " >
< manifest >
< attribute name = " Built-By " value = " ${user.name} " />
< attribute name = " Main-Class " value = " test.Main " />
</ manifest >
</ jar >
< jar destfile = " ${distDir}/${package}_src.jar " basedir = " ${buildDir} " />
</ target >
< target name = " clean " description = " clean the directory " >
< delete dir = " ${distDir} " quiet = " true " ></ delete >
< delete dir = " ${buildDir} " quiet = " true " ></ delete >
</ target >
</ project >
Ant的build文件分析:
1. project是build文件的最外层,注意,其可以设置default任务和缺省的目录位置
2. 此属性信息主要是从属性文件中提取特定的设置信息
<
property
file
="build/building.properties"
/>
4. path主要是用来设置代码以来的类库信息,在编译或者打包过程中,基于classpathref来进行使用
<
path
id
="classpath"
>
< fileset dir ="${Library}" >
< include name ="*.jar" />
</ fileset >
</ path >
< fileset dir ="${Library}" >
< include name ="*.jar" />
</ fileset >
</ path >
<
target
name
="init"
description
="initialize the project"
>
< echo > Ready to make directory: ${distDir}. </ echo >
< mkdir dir ="${distDir}" />
< echo > Ready to make directory: ${buildDir}. </ echo >
< mkdir dir ="${buildDir}" />
</ target >
< echo > Ready to make directory: ${distDir}. </ echo >
< mkdir dir ="${distDir}" />
< echo > Ready to make directory: ${buildDir}. </ echo >
< mkdir dir ="${buildDir}" />
</ target >
<
target
name
="compile"
depends
="precompile"
>
< javac srcdir ="${SRC_HOME}" destdir ="${buildDir}" classpathref ="classpath" />
</ target >
< javac srcdir ="${SRC_HOME}" destdir ="${buildDir}" classpathref ="classpath" />
</ target >
<copy file="src/*.java" tofile/todir="dest/*.java"/> ,move 也是类似的
7. build-webservice.xml里面仅仅定义了若干target
<!--
build-webservice 是另外一个ant的脚本文件
-->
< antcall target ="build-webservice" />
< antcall target ="build-webservice" />