posts - 23,  comments - 1,  trackbacks - 0
          Ant是一個(gè)基于java的build工具。大家都知道,現(xiàn)在已經(jīng)有了許多
          的build工具,例如make、gnumake、nmake、jam等,而且這些工具
          都非常優(yōu)秀。那我為什么還要給大家介紹Ant這個(gè)新工具呢? 因?yàn)?
          Ant是一個(gè)跨平臺(tái)的Build工具。之所以Ant能跨平臺(tái),是因?yàn)锳nt不
          再需要你編寫shell命令,Ant的配置文件是基于XML的任務(wù)樹, 能
          讓你運(yùn)行各種各樣的任務(wù),任務(wù)的運(yùn)行是由實(shí)現(xiàn)了特定任務(wù)接口的
          對(duì)象來完成的。 

          1 獲得Ant 
          Binary版:最新的穩(wěn)定版的下載地址是:
          http://jakarta.apache.org/builds/ant/release/v1.1/bin。 
          (現(xiàn)最新已是1.5版)

          Source版:最新的源碼穩(wěn)定版下載地址是:
          http://jakarta.apache.org/builds/ant/release/v1.1/src/
          如果你想獲得最新的源碼,地址是:
          http://jakarta.apache.org/from-cvs/jakarta-ant/ 

          2 系統(tǒng)要求 
          需要在CLASSPATH中包含與JAXP兼容的XML parser, 才能編譯和使
          用Ant。 

          我給大家推薦一個(gè)XML parser:xerces,下載地址:
          http://xml.apache.org/xerces 


          當(dāng)然,JDK肯定是必需的,并且是1.1或之后版本。 

          3 編譯Ant 
          1. 進(jìn)入jakarta-ant目錄 

          2. 將JDK加入到你的PATH環(huán)境變量中 

          3. 設(shè)置JAVA_HOME環(huán)境變量,指向你的JDK安裝目錄 

          4. 運(yùn)行bootstrap.sh角本文件 

          5. 運(yùn)行以下命令創(chuàng)建Ant的Binary版: 
              build.sh -Dant.dist.dir=<安裝Ant的目錄> dist
                  

          4 安裝Ant 
          1. 設(shè)置ANT_HOME環(huán)境變量,指向你的Ant目錄 

          2. 設(shè)置JAVA_HOME環(huán)境變量,指向你的JSK目錄 

          3. 將ANT_HOME/bin加入PATH環(huán)境變量中 

          4. 將ant.jar和xerces.jar加入到CLASSPATH環(huán)境變量中 

          假設(shè)Ant安裝在/usr/local/ant目錄,可通過以下方法進(jìn)行設(shè)置: 

           export ANT_HOME=/usr/local/ant
           export JAVA_HOME=/usr/local/jdk-1.2.2
           export PATH=${ANT_HOME}/bin{PATH}
           export CLASSPATH=${ANT_HOME}/lib/ant.jar:/lib/xerces.jar:
          ${CLASSPATH}
                  

          5 運(yùn)行ant 
          運(yùn)行Ant非常簡(jiǎn)單,如果你按照上面描述的方法安裝了ant,只需在命令
          行鍵入ant就行了。 

          當(dāng)你不帶任何參數(shù)運(yùn)行ant時(shí),Ant會(huì)在當(dāng)前目錄找一個(gè)名叫build.xml
          的文件。如果找到了,就將該文件作為build配置文件。如果沒找到,
          它會(huì)自動(dòng)地查找上級(jí)目錄,一直找到根目錄。也可以通過命令行參數(shù) 
          -buildfile  來指定其他配置文件,其中,是你要采用的配置文件名。


          用一個(gè)HelloWorld例子來簡(jiǎn)單說明一下:

          //HelloWorld.java
          package com.sharetop.antdemo;
          public class HelloWorld  {
          public static void main( String args[] ) {
            System.out.println("Hello world. ");
          }
          }
            


          要讓Ant編譯這個(gè)文件,首先需要編寫一個(gè)Build配置文件。在一般情況下,這個(gè)文
          件被命名為build.xml。  

          <?xml version="1.0" encoding="UTF-8" ?>
          <project name="HelloWorld" default="run" basedir="." >
          <property name="src" value="src"/>
          <property name="dest" value="classes"/>
          <property name="hello_jar" value="hello.jar" />
          <target name="init">
          <mkdir dir="${dest}"/>
          </target>
          <target name="compile" depends="init">
          <javac srcdir="${src}" destdir="${dest}"/>
          </target>
          <target name="build" depends="compile">
          <jar jarfile="${hello_jar}" basedir="${dest}"/>
          </target>
          <target name="run" depends="build">
          <java classname="com.sharetop.antdemo.HelloWorld"  
          classpath="${hello_jar}"/>
          </target>
          </project>

          Ant的Build文件是一個(gè)標(biāo)準(zhǔn)的XML文件,它包含一個(gè)根節(jié)點(diǎn)Project,每個(gè)Project
          定義了至少一個(gè)或多個(gè)Target,每個(gè)Target又是一系列Task的集合。  

          再來看一下這個(gè)文件的內(nèi)容,它描述了以下信息:工程的名字為HelloWorld,工程
          有四個(gè)target,分別是init、compil、build和run,缺省是run。compile只有一個(gè)
          任務(wù)javac,源文件位于src目錄下,輸出的類文件要放在classes目錄下。build的
          任務(wù)是jar,生成的jar文件為hello.jar,它打包時(shí)以classes為根目錄。而run則
          是執(zhí)行這個(gè)HelloWorld類,用hello.jar作為classpath。這四個(gè)target之間有一個(gè)
          依賴關(guān)系,這種關(guān)系用depends來指定。即如果Target A依賴于Target B,那么在
          執(zhí)行Target A之前會(huì)首先執(zhí)行Target B。所以從下面運(yùn)行缺省Target(run)的輸
          出看,這四個(gè)Target的執(zhí)行順序是:init→compile→build→run。HelloWorld.
          java文件在src\com\sharetop\antdemo子目錄下。  

          這個(gè)build.xml配置文件開頭定義了3個(gè)屬性,分別指定了源文件輸出路徑、類文件
          輸出路徑和生成的Jar文件名,后面對(duì)這些路徑的引用都通過一個(gè)${property  
          name}來引用。所以,要注意這樣一個(gè)原則“目錄的定義與目錄的引用應(yīng)該分開”


           
          posted on 2005-09-25 20:53 咖啡時(shí)間 閱讀(290) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          <2005年9月>
          28293031123
          45678910
          11121314151617
          18192021222324
          2526272829301
          2345678

          專 注 Java 技 術(shù) 的 開 發(fā)... ... 享 受 Java 咖 啡 的 美 味... ... 擁 有 Sun 一 般 的 人 生

          常用鏈接

          留言簿(1)

          隨筆檔案(23)

          文章檔案(1)

          Java學(xué)習(xí)資源

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 江孜县| 吴堡县| 日土县| 深州市| 景泰县| 丰原市| 息烽县| 鸡泽县| 江西省| 长春市| 南康市| 南陵县| 阜新市| 铜山县| 阿拉善左旗| 安西县| 疏附县| 盈江县| 翁源县| 招远市| 合肥市| 石泉县| 虞城县| 中超| 简阳市| 宾川县| 周至县| 固镇县| 万盛区| 大安市| 澄迈县| 城市| 杭州市| 重庆市| 六枝特区| 中阳县| 盱眙县| 肥西县| 开原市| 榆树市| 千阳县|