1. 设置basedir
<?xml version="1.0"?>
<project name="projectStudy" default="sayBaseDir" basedir="D:\myec">
<target name="sayBaseDir" description="打印提示信息">
<echo message="The base dir is: ${basedir}"/>
</target>
</project>
2. 创建目录
<?xml version="1.0"?>
<project name="propertyStudy" default="mkdir" description="创建目录">
<target name="mkdir">
<mkdir dir="mkdirTest"/>
</target>
</project>
3. 设置property
<?xml version="1.0"?>
<project name="propertyStudy" default="example">
<property name="name" value="amigo"/>
<property name="age" value="25"/>
<target name="example">
<echo message="name: ${name}, age: ${age}"/>
</target>
</project>
4. 拷贝文件和拷贝文件夹
<?xml version="1.0"?>
<project name="propertyStudy" default="copydir">
<target name="copyfile" description="拷贝文件">
<copy file="antStudy.txt" tofile="copy.txt"/>
</target>
<target name="copydir" description="拷贝目录">
<copy todir="../AntProject/src_copy">
<fileset dir="src"/>
</copy>
</target>
</project>
5. 删除文件和删除文件夹
<?xml version="1.0"?>
<project name="propertyStudy" default="deldir">
<target name="delfile" description="删除文件">
<delete file="src_copy/com/cyjch/test/AntTest.java" />
</target>
<target name="deldir" description="删除目录">
<delete dir="../AntProject/src_copy" />
</target>
<target name="delBakAndEmpty" description="删除空目录及备份目录">
<delete includeEmptyDirs="true">
<fileset dir="." includes="**/*.bak" />
</delete>
</target>
</project>
6. 编译java程序
<?xml version="1.0"?>
<project name="javacTest" default="compile" basedir=".">
<target name="clean" description="删除编译后产生的目录及文件">
<delete dir="build" />
</target>
<target name="compile" depends="clean" description="编译源文件">
<mkdir dir="build/classes" />
<javac srcdir="src" destdir="build/classes" />
</target>
</project>
7. 编译并运行java程序
<?xml version="1.0"?>
<project name="javaTest" default="run" basedir=".">
<target name="clean" description="清除目录">
<delete dir="build" />
</target>
<target name="compile" depends="clean" description="编译">
<mkdir dir="build/classes" />
<javac srcdir="src" destdir="build/classes" />
</target>
<target name="run" depends="compile" description="运行">
<java classname="AntTest">
<classpath>
<pathelement path="build/classes" />
</classpath>
</java>
</target>
</project>
8. 生成JAR包
<?xml version="1.0"?>
<project name="javaTest" default="jar" basedir=".">
<target name="jar" description="打JAR包">
<jar destfile="helloworld.jar" basedir="build/classes">
<manifest>
<attribute name="Main-class" value="HelloWorld" />
</manifest>
</jar>
</target>
</project>
9. 生成WAR包
<?xml version="1.0"?>
<!--默认为打包操作-->
<project name="structured" default="archive">
<description>编译并打包一个应用程序</description>
<!--在工程目录下创建输出目录:build/classes 和 dist-->
<target name="init" description="创建目录">
<mkdir dir="build/classes" />
<mkdir dir="dist" />
</target>
<!--编译输出目录:srcdir-源目录和destdir-目标目录-->
<target name="compile" depends="init" description="编译">
<javac srcdir="src" destdir="build/classes" />
</target>
<!--打包 , depends依赖哪些target-->
<target name="archive" depends="compile" description="打包">
<war destfile="dist/antwebproject.war" basedir="build/classes" />
<jar destfile="dist/project.jar" basedir="build/classes" />
</target>
<!--清理删除-->
<target name="clean" depends="init" description="清理">
<delete dir="build" />
<delete dir="dist" />
</target>
</project>
10. Web project打成War包
<?xml version="1.0"?>
<project name="antwebproject" default="war" basedir=".">
<!--定义常量,任务可以引用-->
<property name="classes" value="build/classes" />
<property name="build" value="build" />
<property name="lib" value="WebRoot/WEB-INF/lib" />
<!-- 删除build路径-->
<target name="clean">
<delete dir="build" />
</target>
<!-- 建立build/classes路径,并编译class文件到build/classes路径下-->
<target name="compile" depends="clean">
<mkdir dir="${classes}" />
<javac srcdir="src" destdir="${classes}" />
</target>
<!-- 打war包-->
<target name="war" depends="compile">
<war destfile="${build}/AntProject.war" webxml="WebRoot/WEB-INF/web.xml">
<!-- 拷贝WebRoot下除了WEB-INF和META-INF的两个文件夹 , **意为:匹配0或者更多的目录-->
<fileset dir="WebRoot" includes="**/*.jsp" />
<!-- 拷贝lib目录下的jar包-->
<lib dir="${lib}" />
<!-- 拷贝build/classes下的class文件-->
<classes dir="${classes}" />
</war>
</target>
</project>