聽風的歌

          欣賞永運比跟風好

          ◎Ant的使用 - buildfile

          前面簡單的介紹了Ant
          http://www.aygfsteel.com/x-29/archive/2007/04/09/109426.html

          現在來看一下,如何編寫Ant的buildfile.

          buildfile是一個xml文檔,默認命名為build.xml,在Ant的buildfile中,我們可以設定屬性[property]、任務[task],每個buildfile中可以設定多個任務[task],這些任務可以是編譯源碼、生成Doc文檔、程序測試等;通常會將這些任務組織為一個目標[target]。

          看一個簡單的build.xml,大概了解一下

          <project name="addressbook" default="compile" basedir=".">

          <!-- ===================== Property Definitions =========================== -->
            
          <property name="tomcat.home" value="C:/jakarta-tomcat" />
            
          <property name="app.home"          value="." />
            <property name="src.home"          value="${app.home}/src"/>
            
          <property name="lib.home"          value="${app.home}/WEB-INF/lib"/>
            
          <property name="classes.home"       value="${app.home}/WEB-INF/classes"/>

          <!-- ==================== "compile" Target ============================= -->
            
          <target name="compile"  >
              
          <javac srcdir="${src.home}" destdir="${classes.home}" debug="yes" >
                  
          <classpath refid="compile.classpath"/>
              
          </javac>
            
          </target>
          </project>

          可以看到build.xml中,project作為根元素(每個buildfile中都會有一個project),然后是定義了兩個屬性以及一個target。

          project元素和target元素的屬性,可以看下面的表。

          標簽 屬性 描述 必需的
          project name 項目名稱 No
          default 沒有指定target時,缺省使用的target Yes
          basedir 作為計算其它路徑的基路徑。該屬性可以被basedir property覆蓋,當覆蓋時,該屬性被忽略。如果屬性和basedir property都沒有設定,就使用buildfile文件的父目錄 No
          target name target的名字 Yes
          depends 用逗號隔開的target名字列表,設定些屬性,就意味著本target將依賴于depends設定的target No
          if 執行target所需設定的屬性名 No
          unless 執行target所需要清除設定的屬性名 No
          description 關于target的描述 No

          在使用
          D:\>Ant
          執行時,會先進入到"complie"目標(上面的Ant沒有指定target,所以會使用project的default值),編譯源碼(javac task)

          提示:我們可以在ant后面指定想要執行的target,缺省情況下會使用默認的(即:project元素default屬性設定的target)。 

          通常,要運行一個程序,首先得要編譯它的源碼,生成可執行文件,然后才運行這個可執行文件。 可以看到這是由兩個任務組成,而且運行可執行文件任務依賴編譯源碼任務。Ant的buildfile中可以定義多個target,同時一個target的執行可以依賴于另一個target,表描這種依賴關系可以通過target元素的depends屬性,depends可以設定多個target(以逗號間隔),如:
          <target name="run" depends="mkdir,complie">
             
          <!--
             運行程序
             
          -->
          </target>
          "run"目標依賴"mkdir"和"complie"目標,也就是運行程序之前,要先建立相關文檔目錄,編譯源碼生成可執行文件。
          depends屬性設定的依賴是按左到右的順序執行,執行命令Ant run,會先執行"mkdir"目標,執行完后,再到"complie",最后才執行"run"目標。

          <property>元素,主要是設置一些常用的屬性,每個屬性都會有一個名稱(name),以后再做詳解。

          有關Ant的buildfile,就說到這,下篇說說Ant的常用任務[task]標簽


          posted on 2007-04-09 17:30 聽風的歌 閱讀(2244) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          導航

          <2007年4月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          統計

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 休宁县| 连城县| 台湾省| 芒康县| 察隅县| 南昌县| 鸡泽县| 文登市| 亳州市| 珠海市| 瑞丽市| 元江| 涟水县| 五河县| 博罗县| 曲靖市| 南岸区| 广州市| 临湘市| 上虞市| 徐汇区| 湾仔区| 岳池县| 杨浦区| 正安县| 沧州市| 资中县| 阿勒泰市| 华宁县| 五台县| 双牌县| 时尚| 汉川市| 柞水县| 大宁县| 万全县| 吕梁市| 天气| 中卫市| 南和县| 方山县|