ant設定檔詳解(轉)

來源:互聯網
上載者:User

最近打算在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 文

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.