Ant系列-第一個build.xml,ant系列build.xml
Ant系列-第一個build.xml前言
ANT是一個構建工具,它有跨平台、操作簡單、安裝簡單、佔用資源少等特點,它只有一個設定檔build.xml,我們要做的事情就是在build.xml中去定義我們想要做的事情,ANT它本身有很多命令和文法,筆者剛接觸時也是比較頭大,後面慢慢去學習查詢,基本上瞭解了整個build.xml包含的內容,最好的學習辦法就是查看例子,通過例子去熟悉不同標籤裡面的屬性和參數的含義,我們不需要全部都要記住,只要在使用的時候知道如何去查詢即可。
下面來構建我們第一個build.xml檔案,這隻是簡單的開始:
在D:\test\ant\src下建立HelloWorld.java檔案
package test.ant;public class HelloWorld {public static void main(String[] args) {System.out.println("Hello World");}}
在上一級目錄建立build.xml檔案,鍵入以下內容:
<?xml version="1.0" encoding="UTF-8"?><project name="HelloWorld" default="run" basedir="."><!-- 項目名為HelloWorld,default代表預設要做的事情,.代表目前的目錄--><property name="src" value="src"/><!-- 定義src變數 --><property name="dest" value="classes"/> <!-- 定義dest變數--><property name="hello_jar" value="hello.jar"/><!-- 定義hello_jar變數--><target name="init"> <!-- 定義一個目標,這裡表示初始化,mkdir表示建立一個目錄,${dest}表示取變數dest的值 --><mkdir dir="${dest}"/></target><!-- 編譯目標,depends是它依賴的target,在init執行過才執行compile--><target name="complie" depends="init"> <!-- 運行javac命令 srcdir來源目錄 destdir目標目錄--><javac srcdir="${src}" destdir="${dest}"/></target><!-- 構建目標,依賴compile--><target name="build" depends="complie"><!-- 運行jar命令 jarfile為jar檔案 basedir為classes--><jar jarfile="${hello_jar}" basedir="${dest}"/></target><!--運行--><target name="run" depends="build"><java classname="test.ant.HelloWorld" classpath="${hello_jar}"/></target><!-- 刪除產生的檔案--><target name="clean"><delete dir="${dest}"/><delete file="${hello_jar}"/></target><!--再次運行--><target name="rerun" depends="clean,run"><ant target="clean"/><ant target="run"/></target></project>
來總結一下以上用到的元素:
project節點元素
Ant構建檔案的根項目,屬性:
- name屬性:用於指定project元素的名稱。
- default屬性:用於指定project預設執行時執行的target的名稱。
- basedir屬性:用於指定基路徑的位置。
property節點元素
用於定義變數或參數的定義,屬性:
ant有一些內建的特性如:ant.file-->構建檔案如build.xml檔案所在的路徑ant.home->ant的根路徑ant.java.version->java版本ant.project.name->當前project的名字,在build.xml的開頭指定ant.version->ant版本
target節點元素
可以看做是一個任務,它有如下屬性:
- name屬性:指定target元素的名稱。
- depends屬性:用於描述target之間的依賴關係。
- if屬性:用於驗證指定的屬性是否存在,若不存在,所在target將不會被執行。
- unless 屬性:該屬性的功能與 if 屬性的功能正好相反,它也用於驗證指定的屬性是否存在,若不存在,所在 target 將會被執行。
- description 屬性:該屬性是關於 target 功能的簡短描述和說明。
mkdir命令
建立目錄。
javac命令
用於編譯一個或一組java檔案。
jar命令
用來產生一個JAR檔案。
delete命令
對檔案或目錄進行刪除。
參考:ant入門使用指南 http://blog.csdn.net/ibm_hoojo/article/details/9093919