首先下载ant在http://jakarta.apache.org/builds,然后解压缩到本地,我把它压缩到C:/ant目录下
在环境变量修改属性
在path属性前增加------C:/ant/bin;这样就可以使用ant了
build.xml文件都包含一个project和至少一个target元素,target元素中包含一个或多个任务元素,任务是一段可执行的代码。
根元素是project,三个属性name,default,basedir
name指定工程的名字
default指定工程默认的target元素
basedir指定工程的基路径,如果是“.”,表示为build.xml所在路径
<project name="bookstore" default="about" basedir=".">
<target name="init">
<tstamp/>
<!--初始化各个变量的名字-->
<property name="build" value="build" /><!--编译后的目录-->
<property name="src" value="src" /><!--源文件的位置-->
<!--用到的环境变量的包-->
<property environment="myenv" />
<property name="servletpath" value="${myenv.CATALINA_HOME}/common/lib/servlet-api.jar" />
<property name="mysqlpath" value="WEB-INF/lib/mysqldriver.jar" />
<mkdir dir="${build}" /><!--调用前面的目录参数是${xxx}-->
<mkdir dir="${build}/WEB-INF" />
<mkdir dir="${build}/WEB-INF/classes" />
<copy todir="${build}" ><!--拷贝目录文件到新的目录下-->
<fileset dir="${basedir}" ><!--原来的目录是basedir参数的路径-->
<include name="*.jsp" />
<include name="*.bmp" />
<include name="WEB-INF/**" />
<exclude name="build.xml" /><!--不拷贝这个文件-->
</fileset>
</copy>
</target>
<target name="compile" depends="init"> <!--它依赖init的执行,所以调用它先执行init-->
<javac srcdir="${src}"
destdir="${build}/WEB-INF/classes"
classpath="${servletpath}:${mysqlpath}">
</javac>
</target>
<target name="bookstorewar" depends="compile"> <!--生成war的任务-->
<war warfile="${build}/bookstore.war" webxml="${build}/WEB-INF/web.xml">
<lib dir="${build}/WEB-INF/lib"/>
<classes dir="${build}/WEB-INF/classes"/>
<fileset dir="${build}"/>
</war>
</target>
<target name="about" > <!--默认的target-->
<echo>
This build.xml file contains targets
for building bookstore web application
</echo>
</target>
</project>
我们这个build.xml在我们的应用的根目录下
所以运行ant的方法是:在DOS下
1.进入C:/myApp,我们的应用目录下 输入: ant (会搜索当前路径下的build.xml文件)
2.直接输入ant -buildfile c:/myApp/build.xml
3.直接输入ant -buildfile c:/myApp/build.xml about
以上三种方式都执行about的target,如果指想编译java文件,我们只要
ant -buildfile c:/myApp/build.xml compile