<! —①-->
<project name="logon basedir=" ." deafult="dist">
<property name="project.title" value="Logon" />
<property name="project.version" value="1.2" />
<property name="dist.name" value="logon" />
<! —②-->
<path id="project.class.path">
<pathelement path="lib/struts.jar" />
<pathelement path="./classes/" />
<pathelement path="${classpath}" />
</path>
<! —③ -->
<target name="prepare">
<tstamp />
</target>
<! —④-->
<target name="resources">
<copy todir="classes" includeEmptyDirs="no">
<fileset dir="src/resources">
<patternset>
<include name="**/*.properties" />
</patternset>
</fileset>
</copy>
</target>
<! —⑤-->
<target name="compile" depends="prepare,resources">
<!-- property name="build.compiler" value="jikes"/ -->
<javac srcdir="src" destdir="classes">
<classpath refid="project.class.path" />
</javac>
</target>
<! —⑥-->
<target name="clean" description="Prepare for clean build">
<delete dir="classes" />
<mkdir dir="classes" />
</target>
<! —⑦-->
<target name="javadoc" description="Generate JavaDoc API docs">
<delete dir="./doc/api" />
<mkdir dir="./doc/api" />
<javadoc sourcepath="./src/java" destdir="./doc/api" classpath="lib/struts.jar:" packagenames="app.*" author="true" private="true" version="true" windowtitle=" API Documentation" doctitle="<h1>${project.title}Documentation
(Version${project.version})</h1>" bottom="Copyright © 2002" />
</target>
<! —⑧-->
<target name="dist" description="createe binary distribution">
<delete dir="./dist" />
<mkdir dir="./dist" />
<war warfile="./dist/${dist.name}.war" webxml="../WEB-INF/web.xml" manifest="../META-INF/MANIFEST.MF" basedir="../" excludes="WEB-INF/dist,WEB-INF/web.xml,
META-INF/MANIFEST.MF" />
</target>
<! —⑨-->
<target name="project" depends="clean,prepare,compile,javadoc,dist"/>
</project>
○
1 project 給出一個構建文件的總體名稱,并且標識一個基礎目錄和缺省目標。當Ant 裝入文件時,目標會首先鎖定它的調用。要使用不同的目標,改變這個缺省設置并存儲文件,或者在命令行中覆蓋它。缺省基準目錄設置為build.xml 的當前目錄。腳本的其他部分這是
WEB-INF
文件夾,并且要在這個基礎目錄的子目錄下查找源代碼。這個塊中還有一些屬性要設置,以備后用。要讓這個文件用于另一個應用,你可以只修改這些屬性,而讓剩下的其他屬性保持原樣。
○
2 path 塊建立了Ant 構建應用是要使用的classpath。它每次都會執行而不管是選擇哪一個目標。通常,這是一個WEB-INF/lib 文件夾中的JAR 的清單。
○
3 prepare 幫助Ant 通過比較類文件和源文件的時間戳來最小化編譯工作。
○
4 resources 目標從源代碼樹中拷貝一些屬性文件 (java.util.Properties) 到classes 樹。這樣你可以保持原始的屬性文件和文件源代碼中的保持一致。
○
5 compile 目標首先調用prepare 和resources 目標,然后開始構建源文件。Jikes [Jikes]或者標準的javac 編譯器都可以使用。
○
6 clean 目標通過刪除和恢復類文件夾來確保所有的東西都重新構建。
○
7 javadoc 目標為應用構建JavaDoc。通常,你需要象標明項目的classpath 一樣為JavaDoc classpath 標明相同的
JAR
路徑。注意,這是一個冒號分隔的列表。JavaDoc 編譯器會發出警告,但會繼續為它能找到的類產生文檔。
○
8 dist 目標為應用創建一個Web 歸檔(
WAR
) 文件。這個文件可以用來在你的生產服務器
上部署你的應用。
○
9 project 目標將全部構建所有東西,并準備一個二進制的分發包。關于Ant 得更多信息,我們強烈推薦你閱讀Java Development with Ant[Hatcher] 。
posted on 2006-09-04 16:47
周銳 閱讀(2181)
評論(2) 編輯 收藏 所屬分類:
Ant