亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Ant tutorial(1)

系統 1579 0

???? Apache Ant 是一個基于 Java 的生成工具 (another neat tool). 使用 Ant ,您能夠編寫單個生成文件,這個生成文件在任何 Java 平臺上都一致地操作(因為 Ant 本身也是使用 Java 語言來實現的);這就是 Ant 最大的優勢。

??? Ant 沒有定義它自己的自定義語法;相反,它的生成文件是用 XML 編寫的 . 每個生成文件由單個 project 元素組成,該元素又包含一個或多個 target 元素。一個目標( target )是生成過程中已定義的一個步驟,它執行任意數量的操作,比如編譯一組源文件。一次生成過程所必需的所有操作可以放入單個 target 元素中,但是那樣會降低靈活性。將那些操作劃分為邏輯生成步驟,每個步驟包含在它自己的 target 元素中,這樣通常更為可取。這樣可以執行整體生成過程的單獨部分,卻不一定要執行其他部分。例如,通過僅調用某些目標,您可以編譯項目的源代碼,卻不必創建可安裝的項目映像。

??? 頂級 project 元素需要包含一個 default 屬性,如果在 Ant 被調用時沒有指定目標,這個屬性將指定要執行的目標。然后需要使用 target 元素來定義該目標本身。下面是一個最基本的生成文件:

<? xml?version="1.0" ?>
< project? default ="init" >
???
< target? name ="init" >
???
</ target >
</ project >

一次性打開和關閉一個元素也是可以做到的。因此,與其像上面那樣 target 元素使用單獨的起始和結束標簽,我們可以將它寫為如下形式: ???????
< target? name ="init" />

當元素沒有包含任何內容時,更簡練的形式會更清晰。
看一個具體的例子:

<? xml?version="1.0" ?>
< project? default ="init" ?name ="Project?Argon" >
????
< description >
???A?simple?project?introducing?the?use?of?????descriptive?tags?in?Ant?build?files.
????
</ description >
?
<!-- ?XML?comments?can?also?be?used? -->
???
< target? name ="init" ?description ="Initialize?Argon?database" >
?
<!-- ?perform?initialization?steps?here? -->
???
</ target >
</ project >

Ant 中用于設置屬性的機制 : ??
< property? name ="metal" ?value ="beryllium" />

為了在生成文件的其他部分引用這個屬性,使用以下語法 :
??????????????????????
${metal}

為了使用這樣一個值,它是另一個屬性的值的組成部分,將標簽寫為下面這樣:

< property? name ="metal-database" ?value ="${metal}.db" />

屬性經常用于引用文件系統上的文件或目錄,但是對于使用不同路徑分隔符(例如, / \ )的平臺來說,這樣可能在跨越不同平臺時導致問題。 Ant location 屬性專門設計用于以平臺無關的方式包含文件系統路徑。像下面這樣使用 location 來代替 value

< property? name ="database-file" ?location ="archive/databases/${metal}.db" />

用于 location 屬性的路徑分隔字符將被轉換為當前平臺的正確格式;而且由于文件名是相對的,它被認為是相對于項目的基目錄。我們同樣可以容易地寫為下面這樣:

    
      
        
< property? name ="database-file" ?location ="archive\databases\${metal}.db" />
    
      
        定義依賴關系:
        
          使用
        
        
           target 
        
        
          元素的
        
        
           depends 
        
        
          屬性來實現
        
      
    
  
< target? name ="init" />
< target? name ="preprocess" ?depends ="init" />
< target?? name ="compile" depends ="init,preprocess" />
< target? name ="package" ?depends ="compile" />

這種方法允許您執行項目任何階段的生成過程; Ant 會首先執行已定義的先決階段。在上面的例子中,如果讓 Ant 完成 compile 步驟,它將判斷出需要首先執行 init preprocess 這兩個目標。 init 目標不依賴其他任何目標,因此它將首先被執行。然后 Ant 檢查 preprocesstarget ,發現它依賴 init 目標;由于已經執行了后者, Ant 不會再次執行它,因而開始執行 preprocess 目標。最后可以執行 compile 任務本身。注意目標出現在生成文件中的順序并不重要:執行順序是由 depends 屬性唯一確定的。

Ant Eclipse 中—— Ant 編輯器

???? <?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600">?<img height="235" hspace="0" src="/images/cnblogs_com/jeffchen/EclipseAntEditor.jpg" width="600"></shapetype>

名為 build.xml 的文件在 Eclipse 的導航程序視圖中使用一個 Ant 圖標來標識和裝飾。右鍵單擊這些文件會提供一個 Run Ant... 菜單選項,選擇這個菜單選項將打開一個類似如下的對話框:

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

?

來自該生成文件的所有目標都顯示出來了,而默認的目標則處于選中狀態。在您決定是否要改變默認目標之后,請按 Run 按鈕來運行 Ant Eclipse 將切換到 Console 視圖,如下圖所示。錯誤將以不同的顏色顯示出來,可以單擊輸出中的任務名稱來跳到生成文件中的對應調用點。

?

默認情況下, Eclipse 僅對名為 build.xml 的文件使用 Ant 編輯器,不過可以容易地配置該編輯器,使其識別具有其他名稱的文件。從菜單上選擇 Window=>Preferences ,然后展開 Workbench 組,再選擇 File Associations 參數設置頁面。然后為預期的文件名添加一種新的文件類型。例如,可以為名為 mybuild.xml 的所有文件添加一種新的文件類型。如果想對具有 .xml 后綴的所有文件(特殊文件名除外,比如 plugin.xml ,它在 Eclipse 中覆蓋通配符指定)做同樣的事情,您甚至可以使用 *.xml 最后為這種新的文件類型添加一個關聯的編輯器,然后從編輯器列表上選擇 Ant editor ,如下所示:

?

Ant tutorial(1)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 天天碰夜夜 | 亚洲福利精品一区二区三区 | 国产1769一七六九视频在线 | 成人毛片免费视频 | 国产精品成人久久久久久久 | 98色花堂永久地址国产精品 | 最近中文字幕在线 | 中文 | 97视频免费在线观看 | 精品在线小视频 | 日本不卡在线视频高清免费 | 欧美性天天影院欧美狂野 | 全黄毛片 | 337p日本大胆欧美人术艺术6 | 亚洲欧美日韩中文高清一 | 日韩欧美毛片 | 婷婷综合激情五月中文字幕 | 狠狠色婷婷综合天天久久丁香 | 四虎网站网址 | 国产一级毛片外aaaa | 99精品在免费线视频 | 一本到中文字幕高清不卡在线 | 中文字幕一区二区三区精品 | 亚洲欧美国产18 | 亚洲 欧美 国产另类首页 | 国产在线91精品入口 | 亚洲欧洲国产成人精品 | 天堂伊人网| 成 人 黄 色视频免费播放 | 国产成年网站v片在线观看 国产成人 免费观看 | 精品亚洲一区二区三区在线播放 | 国产欧美一区二区三区久久 | 欧美真人毛片动作视频 | 亚洲欧美中文字幕高清在线一 | 国产成人福利夜色影视 | 蜜桃久久久久久久久久久 | 欧美一级www片免费观看 | 国产欧美日韩一区二区三区 | 日韩永久免费进入2015 | 久久综合给会久久狠狠狠 | 午夜探花在线观看 | 青青青免费手机版视频在线观看 |