欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Ant tutorial(1)

系統 1655 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條評論
主站蜘蛛池模板: av一区在线观看 | 国产欧美日本 | 最新亚洲国产 | 毛片a级毛片免费播放100 | 又大又粗进出白浆直流动态图 | 欧美三级a | 91精品综合久久久久久五月天 | 99超级碰碰成人香蕉网 | 亚洲另类自拍 | 欧美一级在线观看视频 | 在线亚洲精品 | 中文字幕av一区二区 | 视频成人永久免费视频 | 9999毛片免费看 | 草草免费观看视频在线 | 一级毛片成人午夜 | 日本韩国三级在线 | 久久久久久久久淑女av国产精品 | 色站综合| 香蕉香蕉国产片一级一级毛片 | 亚洲人性生活视频 | 国产免费一区二区 | 免费国产小视频在线观看 | 免费成人高清在线视频 | 日本精品a在线观看 | 亚洲视频免费观看 | 国产精品久久自在自2021 | 播播网色播播 | 亚洲aaa视频| 国产12孩岁A片被A午夜 | 波多野结衣全部系列在线观看 | 亚洲网站色 | 国产午夜亚洲精品国产 | 欧美一区二区三区国产精品 | 欧美激情精品久久久久久黑人 | 欧美一级毛片在线播放 | 天天操天天玩 | 奇米第四色影视 | 欧美日韩性生活 | 一区二区三区四区电影 | 97超级碰碰在线看视频免费超 |