在环境变量修改属性
在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