屬性
<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 [email protected]
</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信息