日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Ant的使用

發布時間:2025/7/14 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Ant的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Ant的使用

什么是Apache Ant

Apache Ant是一個基于java的軟件構建工具(build tool),理論上它有點類似C/C++的make工具

為什么要用ant?

make, gnumake, nmake, jam或其他已有的構建工具里,為什么還需要單獨搞這個ant工具呢??
因為前面的這些構建工具都有局限性,Ant的原創作者在開發跨多個平臺的軟件時無法忍受。

  • make工具本質上是基于shell: make會評估一些系統依賴,然后才能執行命令。這意味著你可以輕松地使用或編寫您正在處理的操作系統的任何程序來擴展這些構建工具。但是,這也意味著你將自己限制在操作系統上,或者至少是Unix類的操作系統類型。
  • makefile工具本身也是很討厭的,任何一個曾經用makefile工作的人都會遇到麻煩的tab問題。“由于我在tab前面加了一個空格導致我的命令行總不湊效”,Ant的原創作者說了太多遍了。像Jam這樣的工具在很大程度上處理了這個問題,但是仍然要使用和記住它的一些格式。

而Ant是不同的,Ant使用Java類擴展,而不是使用基于shell命令擴展。與編寫shell命令不同,配置文件是基于xml的,調用一個目標樹來執行各種任務。每個任務由實現特定任務接口的Java對象運行。?
Ant去掉了一些shell命令(比如find . -name foo -exec rm {})的功能,但它提供了類似的功能,一個跨平臺(work anywhere and everywhere)的能力。如果你真的需要執行這些shell命令,Ant有一個<exec>任務允許根據正在執行的操作系統執行不同的命令。

說白了,Ant工具為了解決跨平臺問題。

使用Apache Ant

編寫一個簡單的構建文件

Apache Ant的構建文件是用build.xml編寫的。?
每個構建文件包含一個項目(project)和至少一個默認目標(target)。目標包含任務(task)。

Projects?
一個project包含下面3個屬性

屬性描述
name項目名稱
default在不提供目標時使用的默認目標
basedir完成所有路徑計算的基本目錄。
這個屬性可能會被預先設置“basedir”屬性覆蓋。
如果該屬性和屬性值都沒有設置,則將使用構建文件build.xml所在的目錄路徑。

可選地,項目的描述可以由頂級的<description>元素提供。
每個項目定義一個或多個目標。目標是您想要執行的一組任務。當啟動Ant時,可以選擇要執行的目標。當沒有目標時,項目的默認值default被使用。

Targets
一個目標可以依賴于另外目標,使用depends屬性。?
例如,您可能有一個用于編譯的目標,和一個發布的目標。當你執行發布的目標時不得不先執行編譯的目標,所以發布目標取決于編譯目標。應該注意的是,Ant的depends屬性, 如果它依賴的目標沒有執行,而是直接執行當前目標,它也會自動去執行依賴的目標。

Tasks?
任務是可以執行的一段代碼。 一個任務可以有多個屬性(或者參數,如果你喜歡的話)。?
屬性的值可能包含對屬性的引用。這些引用將在任務執行之前解析。?
任務有一個共同的結構:?
<name attribute1="value1" attribute2="value2" ... />?
name就是任務的名稱,attributeN是屬性名,valueN是該屬性的值。?
所有任務共享一個任務名屬性。該屬性的值將用于Ant生成的日志消息。

Properties

參考

    • Apache Ant Introduction
    • Hello World with Apache Ant

轉載于:https://www.cnblogs.com/fireway/p/7192453.html

總結

以上是生活随笔為你收集整理的Ant的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。