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

Ant tutorial(1)

系統 1794 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條評論
主站蜘蛛池模板: 欧美一级毛片免费播放器 | 中文国产成人久久精品小说 | 欧美一区二区三区视视频 | 孕妇孕妇aaaaa级毛片视频 | 国产麻豆永久视频 | 精品国产不卡一区二区三区 | 亚洲成网站www久久九 | 99热在线观看精品 | 久久久久国产精品免费 | 国产精品久久久久久久久kt | 精品中文字幕乱码一区二区 | 亚洲国产伦理 | 久久国产影院 | 91精品免费高清在线 | 亚洲国产精品二区久久 | 日日摸夜夜摸人人嗷嗷叫 | 亚洲天堂福利视频 | 成人免费视频在线 | 免费一级毛片不卡不收费 | 国产精品一区在线麻豆 | 亚洲日本欧美日韩高观看 | 婷婷射 | 国产一级影片 | 日韩不卡高清视频 | 久草在线久草在线 | 日本高清视频一区二区三区 | 大乳孕妇一级毛片 | xxxxxx国产精品视频 | 99国产精品欧美久久久久久影院 | 日韩一级黄色影片 | 黄色在线视频网 | 国产亚洲精品在天天在线麻豆 | 国产成人v片视频在线观看 国产成人爱片免费观看视频 | 四虎影视免费永久在线观看 | 女性一级全黄生活片在线播放 | 99伦理 | 最刺激黄a大片免费观看下截 | 免费观看国产网址你懂的 | 91成人在线播放 | 久青草国产手机视频免费观看 | 欧美日韩亚洲区久久综合 |