属性
<property name="key" value="value"/>
依赖关系
<target name="" depends=""/>
depends中各个target name以逗号分隔
运行Ant:
ant -buildfile build.xml targetName1 targetName2
ant -projecthelp查看该配置文件中支持的target名称,以及各个target的描述
ant -Dbasedir=javasource设置属性值,这个功能可用于覆盖生成文件中的初始属性设置,属性的值一经设置就不能修改,-D标志在读取生成文件中的任何信息之前设置某个属性,之后生成文件中的指派不会改变这个初始指派指定的值。
Ant任务列表(不断补充中):
JavaC:
<javac srcdir="" destdir="" classpath="" debug="true|false"/>
或者对于有多个Jar需要放到classpath中时
<javac srcdir = "" destdir=" >
<classpath>
<fileset dir="">
<include name="**/*.jar"/>
</fileset>
</classpath>
</javac>
JavaDoc:
<target name="javaDoc" depends="cleanDoc">
<javadoc packagenames="com.ecc.ebank.dummy.client.*"
sourcepath="${srcDir}"
defaultexcludes="yes"
destdir="${docDir}"
author="true"
version="true"
use="true"
windowtitle="Simulator API Docs">
<classpath>
<fileset dir="jars">
<include name="**/*.jar"/>
</fileset>
</classpath>
<doctitle><![CDATA[<h1>Simulator API DOC</h1>]]></doctitle>
<bottom><![CDATA[<i>All right reversed by tsimgsong</i>]]></bottom>
<tag name="todo." scope="all" description="To do:" />
</javadoc>
</target>
Jar
<jar destfile="" basedir=""/>
文件系统操作:
<mkdir dir=""/>
<delete dir=""/>
<copy file="" tofile=""/>
<copy file="" todir=""/>
<copy todir="">
<fileset dir="">
<include name=""/>
<exclude name=""/>
</fielset>
</copy>
<move file="" todir=""/>
<zip destfile="" basedir=""/>
<gzip src="" zipfile=""/>
<unzip src="" dest=""/>
<war destfile="" basedir="" webxml=""/>
<replace file="" token="" value="" summary="true|false"/> summary用来确定是否显示显示替换的结果
Ant支持自己编写增加job
<?xml version="1.0" encoding="GB2312"?>
<project name="project" default="war">
<description>
Script to make war package
Version:1.0
Date:2007-8-9
Project Name:Hangzhou project
Author:tsimgsong tsimgsong@hotmail.com
</description>
<property name="RELEASE_DIR" value="../." />
<property name="WEB_DIR" value="./WebContent" />
<property name="LIANACORE" value="../hzlianaCore" />
<property name="HZCB_LIB" value="${WEB_DIR}/WEB-INF/lib"/>
<target name="package" depends="compilehzcb">
</target>
<!-- - - - - - - - - - - - - - - - - -
target: init 初始化
- - - - - - - - - - - - - - - - - -->
<target name="init" description="clean applications env.delete the directories created by compile">
<tstamp>
<format property="TODAY" pattern="yyyyMMdd" locale="cn" />
</tstamp>
<!-- 环境构建 -->
<delete dir="${LIANACORE}/bin"/>
<delete dir="${WEB_DIR}/WEB-INF/classes"/>
<mkdir dir="${LIANACORE}/bin"/>
<mkdir dir="${WEB_DIR}/WEB-INF/classes"/>
</target>
<target name="compileLianaCore" depends="init" description="compile LianaCore JavaSource">
<javac srcdir="${LIANACORE}/JavaSource" destdir="${LIANACORE}/bin">
<classpath>
<fileset dir="${LIANACORE}/lib">
<include name="**/*.jar"/>
</fileset>
</classpath>
</javac>
</target>
<target name="dist" depends="compileLianaCore" description="Jar LianaCore to corporbank application'w WEB-INF/LIB">
<jar destfile="${WEB_DIR}/WEB-INF/lib/lianaCore.jar" basedir="${LIANACORE}/bin">
<manifest>
<attribute name="Built-By" value="${user.name}"/>
</manifest>
</jar>
</target>
<target name="cleanLianaCore" depends="dist" description="clean LianaCore project">
<delete dir="${LIANACORE}/bin"/>
</target>
<target name="compilehzcb" depends="cleanLianaCore" description="compile corporbank application">
<javac srcdir="./JavaSource" destdir="${WEB_DIR}/WEB-INF/classes">
<classpath>
<fileset dir="${HZCB_LIB}">
<include name="**/*.jar"/>
</fileset>
</classpath>
</javac>
</target>
<target name="war" depends="compilehzcb" description="package corporbank application to a war after compiled lianacore and corporbank application">
<war destfile="../hzbank.war" basedir="${WEB_DIR}" webxml="d:/data/workspace/eclipse/web.xml" duplicate="preserve">
</war>
</target>
<target name="onlywar" description="only package corporbank application to a war without applications compiling">
<war destfile="../hzbank.war" basedir="${WEB_DIR}" webxml="d:/data/workspace/eclipse/web.xml" duplicate="preserve">
</war>
</target>
</project>
使用ant -projecthelp查看所有target信息