Ant系列-第一個build.xml,ant系列build.xml

來源:互聯網
上載者:User

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節點元素

用於定義變數或參數的定義,屬性:

  • name屬性:變數名字
  • value屬性:變數值

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



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.