• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    Lesson 1.02 Ant的安裝和配置(圖)

    發布: 2007-6-22 07:38 | 作者:   | 來源:   | 查看: 230次 | 進入軟件測試論壇討論

    領測軟件測試網

       
      在任何穩固的軟件工程項目里,構建工具都是開發人員工具包里最重要的一個部件之一。沒有一個可靠的構建工具,編譯、包裝和發布過程都會從復雜性和時間需求等方面影響實際的編程過程。
      

      用于Java開發人員的構建工具選擇一直被局限于原有的基于UNIX的工具,例如Make。Make及其開放源代碼的派生工具能夠完成任務,但是正式嚴肅的工作常常還是要依賴于調用UNIX或者Windows命令來完成。這就意味著,Java代碼即使能夠做到跨平臺和編寫一次就能各處使用,構建系統一般還是只能依賴于某種特定的平臺。
      
      Java開發人員看到了這個問題,并意識到:通過提升Java平臺的功能,他們能夠創建一個更加強大的構建工具,這個工具是專門為Java程序人員設計的,而且不會依賴于任何特定的平臺。這就是Ant,一個由Apache基金會的Jakarta項目所管理的項目。
      
      Ant的配置文件是用XML文檔編寫的,所以Java程序員應該已經很熟悉其的語法了,這同Make聲名狼藉的不友好句法形成了鮮明的對比。更重要的是,構建系統用來構建項目的所有動作,也就是任務,也是用Java編寫的;所以同樣的構建文件能夠被運行在任何可以使用Java編譯器的地方。在Ant里,所有的東西都是獨立自主的。
      
      在本文里,我們將看到如何安裝Ant,如何創建用于構建項目的配置文件,以及如何使用可用的內置系統和條件任務。
      
      安裝Ant
      
      要開始的話,我們就需要先去Ant主頁,它上面有最新的發行版本、在線使用手冊和FAQ。在下載和安裝Ant以前,你需要先安裝Java開發工具包(1.2或更高版本),需要設置JAVA_HOME環境變量,在你的可執行路徑里還需要javac編譯器。
      
      你可以從Jakata網站下載預編譯的ANT。你還要用到可選的Java Archive(JAR)文件,其包含的任務能有助于與其他開發工具進行集成。Ant也是開放源代碼軟件,所以如果你想修改任何內部組件來使其適應于自己的開發環境,這沒有問題。你要做的只是下載源代碼。但是要注意的是,Ant靈活性極強,這一點我們會在下一篇文章里看到,向Ant添加功能是很容易的,而且不需要更改源代碼。
      
      一旦下載完了二進制包,你只需要簡單地把文件解壓到希望安裝Ant的地方。對于Windows系統,解壓到c:\ant\;在UNIX系統上,你可能希望安裝到/usr/local/ant/或者/opt/ant/下。
      
      下一步,你需要設置自己的環境變量,即ANT_HOME。在Windows上,假如我們安裝到c:\ant目錄下,圖A所示的命令會正確地設置你的環境變量。
      
      
    圖A

      
     Lesson 1.02 Ant的安裝和配置(圖)(圖一)

      設置Windows的環境變量
      
      在UNIX系統上,假設我們安裝在/usr/local/ant目錄下,圖B所示的命令會正確地設置你的環境變量。
      
      
    圖B

      
     Lesson 1.02 Ant的安裝和配置(圖)(圖二)

      設置UNIX的環境變量
      
      要在Windows或者UNIX系統上安裝可選的任務,你需要把可選的jar文件復制到$ANT_HOME/lib/目錄下。Ant或者ant.bat腳本會自動地把jar文件追加到類的路徑下。
      
      現在我們測試一下,確信Ant已經正確安裝好了。在命令行下,輸入ant。你應該會看到一條信息,見圖C,說Ant無法定位Build.xml文件。這正是我們所期望的,因為我們還要配置和創建項目文件。
      
      
    圖C

      
     Lesson 1.02 Ant的安裝和配置(圖)(圖三)

      創建文件錯誤信息
      
      既然Ant已經準備好了讀取項目文件,就讓我們看看項目文件是什么樣的吧。創建項目
      
      創建項目
      
      為了讓開發人員的日子更加好過一點,Ant的配置文件是使用XML文檔編寫的。這樣開發人員不用去擔心空白的問題(Makefiles就有這個問題),而且許多開發人員都已經能夠正確編寫XML了。
      
      Ant一啟動就會自動地加載一個叫做Build.xml的項目配置文件。如果想給這個項目配置文件取別的名字,你可以使用buildfile標記來運行ant,就像下面這樣:
      
      ant -buildfile Project_configuration.xml
      
      在Listing A所示的SimpleBuild.xml配置文件里,你會看到一個項目標簽,它帶有三個屬性:名字、缺省值和basedir。Ant使用說明里有Ant配置文件里每個標簽的詳細文檔。你可能要使用Ant使用說明作為參考書來了解哪些是必需的標簽,哪些有缺省值。
      
      在項目標簽里,你會看到屬性和目標標簽。屬性標簽創建的變量能夠被任務和變量擴展訪問。正如我們在后面所要看到的一樣,有一些變量,像日期和時間,能夠在任務內部進行設置,所以不是所有的變量都會被明確地定義。
      
      在屬性標簽后面,你會看到目標標簽。你可以定義多個目標,每一個都有不同的名字。你會注意到目標標簽的名字是compile,這碰巧和項目標簽里的缺省值相對應。這就意味著我們在執行Ant的時候,它會自動地啟動compile目標。
      
      目標里有許多的任務,Ant按順序來執行它們。你會發現構建、包裝和發布過程中幾乎每一件事都可以由Ant的任務來處理。
      
      在進行簡單的構建時,我們使用tstamp任務來把當前的日期和時間設置到環境變量里。下一步,我們會使用mkdir任務來創建一個叫做${build}的目錄。(假設它并不存在。這是我們腳本里命令解釋程序擴展的第一個例子。Ant會自動把“${build}”擴展到屬性構建所設置的值里,在這種情況下是build字符串。)
      
      最后,我們會使用javac任務來編譯來自src目錄的源代碼,并把輸出保存到構建里。
      
      在運行Ant時,我們會讓輸出來顯示每個目標執行的狀態,如圖D所示。
      
      
    圖D

      
     Lesson 1.02 Ant的安裝和配置(圖)(圖四)

      Ant的輸出
      
      一個更加深入的例子
      
      現在我們看看使用多個目標構建一個稍微復雜一點的配置的例子。
      
      在Listing B所示的Medium.xml例子里,配置內容被分成的目標比SimpleBuild.xml例子里的更多。把構建過程分成不同的目標意味著Ant可以從任何點進入構建過程。在SimpleBuild.xml里,我們只用簡單地編譯Java源代碼。但是,在這個例子里,我們啟動環境(init),編譯代碼(compile),把代碼包裝進jar(package),再把結果復制進產品所在的位置(dist)。我們還有一個在任何代碼編譯以前通過還原來清除環境的任務。
      
      在缺省狀態下,我們會依次運行init,compile,package,然后是dist。你可以看到每個對象都有已定義的相依性;Ant在依賴相依性的目標完成以前就完成好相依性。缺省的目標是dist,所以在命令行運行ant會完成所有的任務。
      
      然而,我們可以通過在命令行指定用所希望的目標來執行所有步驟中的一部分。例如,我們可以只包裝代碼,而不發布它。把更大的項目分成多個目標能夠允許開發人員迅速地進行分段構建,而不必等待完整構建,這會有助于調試和保證高質量的過程。
      
      內置的任務
      
      既然你已經看過了如何創建一個項目文件,那我們就看一些內置的任務。你會希望看一下Ant的文檔來獲得任務的細節,因為那里所提供的信息比我們這里所涉及的要多。
      
      文件系統任務
      
      你可能會經常使用Ant來完成系統任務:移動、修改、復制和刪除文件。在發布和清除臨時文件時,你會需要移動文件。這就是為什么懂得文件系統工具的使用是有必要的原因了。
      
      Listing C所示的Fs.xml 例子,給filesystem回應了一條信息!癅…@”標志是Ant如何進行文本替換的標識。要替換文本就要在將被替換的文本前后加上“@”標志。在信息被復制到磁盤以后,我們創建兩個目錄,復制文件,在我們復制的時候對磁盤上的文件進行標志替換,再刪除一個已復制的文件。圖E是在Fs.xml構建文件上運行Ant的輸出結果。
      
      
    圖E

      
    Lesson 1.02 Ant的安裝和配置(圖)(圖五)

      Filesystem輸出實例
      
      使用條件
      
      在Ant里構建條件不太容易。由于Ant構建任務和目標的方法,你不得不小心地構造你的陳述式。只有當屬性被設置成真值的時候,條件才能通過執行對象來工作。你可以使用and、or和not陳述式來構造你的條件。在一個條件被發現為真時,你可以使用antcall任務來執行另一個目標。讓我們來看一個簡單的例子,它會確定可選的聲音任務是否可用,以及它是否在UNIX或者Windows上可用。
      
      在Listing D所示的SoundConditional的例子里,你會看到條件任務會調用兩個條件陳述式: condWinSound和condUnixSound,但是兩者都不會主動執行,除非條件屬性被設置。條件目標會檢查包裝是否可用(這是可選的jar文件一部分),以及在哪個平臺上可用。
      
      包裝
      
      現在,你應該已經準備好開始把自己的軟件項目轉移到Ant構建工具上了。Ant正在越來越多地被開發人員用來支持大型的Java項目——而且是因為有了好的理由。這些工具是面向Java的、跨平臺的,而且一般都比面向UNIX的工具要更容易使用。希望本文能夠讓你看到Ant的力量,也能有助于提高你所在組織的產出。在以后的文章里,我們會來看通過創建自己的任務如何來擴展Ant。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>