【文章內(nèi)容簡介】
標出現(xiàn)在生成文件中的順序并不重要: 執(zhí)行順序是由 depends 屬性唯一確定的。 從命令行運行 Ant ? 從命令提示符調(diào)用 Ant 可以簡單得只需鍵入單獨的 ant。如果您這樣做, Ant 將使用默認的生成文件 ;該生成文件中指定的默認目標就是 Ant 嘗試要生成的目標。還可以指定許多命令行選項,后面跟著任意數(shù)量的生成目標, Ant 將按順序生成這其中的每個目標,并在此過程中解決所有依賴關(guān)系 命令行選項 ? 默認情況下 ,Ant 尋找一個名為 的文件。因此,如果您的生成文件使用這個名稱,就不需要在命令行指定它。當然,有時使用具有其他名稱的生成文件更方便,在那樣的情況下,您需要對 Ant 使用 buildfile file 參數(shù)( f file 是其簡寫形式) 命令行選項 ? 另一個有用的選項是 D,它用于設置隨后可以在生成文件中使用的屬性。這對于配置您想要以某種方式開始的生成過程是非常有用的。例如,為了將 name 屬性設置為某個特定的值,您會使用一個類似下面這樣的選項: – Dmetal=beryllium 命令行選項 ? 這個功能可用于覆蓋生成文件中的初始屬性設置。正如前面指出過的,屬性的值一經(jīng)設置就不能改變。 D 標志在讀取生成文件中的任何信息之前設置某個屬性;由于生成文件中的指派落在這個初始指派之后,因此它不會改變其值 IDE 集成 ? 編譯源代碼 – javac srcdir=src/ ? 這個標簽尋找 src 目錄中以 .java 為擴展名的所有文件,并對它們調(diào)用 javac 編譯器,從而在相同的目錄中生成類文件。當然,將類文件放在一個單獨的目錄結(jié)構(gòu)中通常會更清晰;可以通過添加 destdir 屬性來讓 Ant 做到這點 IDE 集成 ? 其他有用的屬性包括 – classpath:等價于 javac 的 classpath 選項。 – debug=true:指示編譯器應該帶調(diào)試信息編譯源文件。 IDE 集成 ? javac 任務的一個重要特點在于,它僅編譯那些它認為需要編譯的源文件。如果某個類文件已經(jīng)存在,并且對應的源文件自從該類文件生成以來還沒有改變過,那么該源文件就不會被重新編譯。 ? javac任務的輸出顯示了實際被編譯的源文件的數(shù)目。 ? 這種行為刻畫了 Ant 的許多任務的特點:如果某個任務能夠確定所請求的操作不需要執(zhí)行,那么該操作就會被跳過。 IDE 集成 ? 創(chuàng)建 JAR 文件 ? 在編譯 Java 源文件之后,結(jié)果類文件通常被打包到一個 JAR 文件中,這個文件類似 zip 歸檔文件。每個 JAR 文件都包含一個清單文件,它可以指定該 JAR 文件的屬性 ? 下面是 Ant 中 jar 任務的一個簡單使用例子: ? jar destfile= basedir=classes/ IDE 集成 ? 這將創(chuàng)建一個名為 的 JAR 文件,并把 classes 目錄中的所有文件添加到其中( JAR文件能夠包含任意類型的文件,而不只是類文件)。此處沒有指定清單文件,因此 Ant 將提供一個基本的清單文件 IDE 集成 ? manifest 屬性允許指定一個用作該 JAR 文件的清單的文件。清單文件的內(nèi)容還可以使用 manifest任務在生成文件中指定。這個任務能夠向文件系統(tǒng)寫入一個清單文件,或者能夠?qū)嶋H嵌套在 jar 之內(nèi),以便一次