最近打算在eclipse工程中使用ant, 發現ant工具還是很不錯的。
比eclipse靈活多了。
xml的配置詳細說明。
----------------------------------------------------以下是具體文檔-------------------------------------------
<!--Ant(another neat tool---另一個整潔的工具)-->
<?xml version="1.0"?>
<project default="dist" name="Project A">
<description>
一段描述資訊,沒有實際作用。
</description>
<!--property 元素相當於變數,存放一定的值,一旦給定以後不能改變,只能通過控制台命令列給初始值。
一般用 value 給其賦值,這裡用 location 代替 value 是因為 location 屬性專門設
計用於以平台無關的方式包含檔案系統路徑,也就是當前路徑。-->
<property name="srcDir" location="."/>
<property name="buildDir" location="classes"/>
<property name="distDir" location="dist"/>
<!--一個target 元素就是一個任務,一個步驟,如果命令列沒有指定開始任務,則由 project 元素的 default 屬性決定要執行的任務-->
<target name="init" description="在元素中指定描述資訊。">
<echo message="這裡的資訊將被輸出到控制台。">
<!--tstamp 元素一般不定義屬性和內容,不產生任何輸出;相反,它根據當前系統時間和日期設定 Ant 以下屬性:
屬性 說明 例子
DSTAMP 設定為當前日期,預設格式為yyyymmdd 20031217
TSTAMP 設定為目前時間,預設格式為hhmm 1603
TODAY 設定為當前日期,帶完整的月份 2003 年12 月17 日-->
<tstamp/>
<!--mkdir 元素用來建立目錄 dir 屬性用來指定目錄路徑-->
<!--delete 元素用來刪除目錄 ${buildDir} 引用 property 元素指定的 name 為 buildDir 的屬性變數-->
<mkdir dir="${buildDir}"/>
<mkdir dir="${distDir}"/>
<!--檔案操作:
<copy file="src/Test.java" tofile="src/TestCopy.java"/> 把檔案 Test.java 拷貝一份 TestCopy.java
<move file="src/Test.java" tofile="src/TestCopy.java"/> 把檔案 Test.java 重新命名為 TestCopy.java
<copy file="src/Test.java" todir="archive"/> 把檔案 Test.java 從 src 目錄複寫一份到 archive 目錄下
<move file="src/Test.java" todir="archive"/> 把檔案 Test.java 從 src 目錄下移動到 archive 目錄下
<replace file="input.txt" token="old" value="new"/>replace 任務,它執行檔案中的尋找和替換操作。
token 屬性指定要尋找的字串,
value 屬性指定一個新的字串,
尋找到的標記字串的所有執行個體都被替換為這個新的字串.
替換操作將在檔案本身之內的適當位置進行。為了提供更詳細的輸出,可把 summary 屬性設定為
true。這將導致該任務輸出找到和替換的標記字串執行個體的數目。
<copy todir="archive">---使用模式比對複製多個檔案
<fileset dir="src">--fileset 代替 file 屬性
<include name="*.java"/>--包含 src 目錄下所有的 *.java 檔案
<exclude name="*.class"/>--不包含 src 目錄下所有的 *.class 檔案
</fileset>
</copy>-->
</target>
<!--target 元素的 depends 屬性用來設定多個 target 元素之間的依賴關係,如果要執行某個任務,必須先執行 depends 屬性指定的所有
它所依賴的 target 元素,只有它所依賴的所有 target 元素都執行完了才能執行它自己-->
<target name="com" depends="init">
<!--javac 元素把 srcdir 指定目錄下所有 *.java 檔案編譯成 *.class 檔案到 destdir 指定的目錄下。
如果不指定 destdir 屬性,那麼預設編譯到同一目錄下。其他屬性:
classpath:等價於javac 的-classpath 選項。
debug="true":指示編譯器應該帶調試資訊編譯源檔案。
fork="true":當你希望指定編譯器的某些記憶體選項,或者需要使用一種不同層級的編譯器的時候。該屬性設定為“true”
executable="d:sdk141injavac":指定一個不同的 javac 可執行檔。
memoryMaximumSize="128m":向上邊指定的 javac 傳遞一個最大記憶體設定-->
<javac srcdir="${srcDir}" destdir="${buildDir}"/>
</target>
<target name="dist" depends="com">
<!--jar 元素:在編譯 Java 源檔案之後,結果類檔案通常被打包到一個 JAR 檔案中,這個檔案類似 zip 歸檔文
件。每個 JAR 檔案都包含一個資訊清單檔,它可以指定該 JAR 檔案的屬性。
還可以把目錄下的所有內容打包為 WAR 檔案
destfile:打包後的檔案全名
basedir:要打包的檔案路徑-->
<jar destfile="${distDir}/package-${DSTAMP}.jar" basedir="${buildDir}">
<!--manifest 屬性允許指定一個用作該 JAR 檔案的清單的檔案。資訊清單檔的內容還可以使用 manifest
任務在組建檔案中指定。這個任務能夠像檔案系統寫入一個資訊清單檔,或者能夠實際嵌套在 jar 之
內,以便一次性地建立資訊清單檔和 JAR 文