DANCE WITH JAVA

          開發出高質量的系統

          常用鏈接

          統計

          積分與排名

          好友之家

          最新評論

          ant教程(三) ant入門

          一,構建ant環境
          要使用ant首先要構建一個ant環境,步驟很簡單:
          1),安裝jdk,設置JAVA_HOME ,PATH ,CLASS_PATH(這些應該是看這篇文章的人應該知道的)
          2),下載ant 地址www.apache.org找一個你喜歡的版本,或者干脆最新的版本
          3),解壓ant 你得到的是一個壓縮包,解壓縮它,并把它放在一個盡量簡單的目錄,例如D:\ant-1.6雖然你不一?定要這么做,但這么做是有好處的。
          4),設置ANT_HOME PATH中添加ANT_HOME目錄下的bin目錄
          5),測試一下你的設置,開始-->運行-->cmd進入命令行-->鍵入 ant 回車,如果看到
          Buildfile: build.xml does not exist!
          Build failed
          那么恭喜你你已經完成ant的設置
          二,體驗ant
          就像每個語言都有HelloWorld一樣,一個最簡單的應用能讓人感受一下Ant
          1,首先你要知道你要干什么,我現在想做的事情是:
          編寫一些程序
          編譯它們
          把它打包成jar包
          把他們放在應該放置的地方
          運行它們
          這里為了簡單起見只寫一個程序,就是HelloWorld.java程序代碼如下:
          package test.ant;
          public class HelloWorld{
          ?public static void main(String[] args){
          ??System.out.println("Hello world1");
          ?}
          };

          2,為了達到上邊的目的,你可以手動的用javac 、copy 、jar、java來完成,但是考慮一下如果你有成百上千個類,在多次調試,部署的時候,一次次的javac 、copy、jar、java那將是一份辛苦的工作?,F在看看ant怎么優雅的完成它們。

          要運行ant需要有一個build.xml雖然不一定要叫這個名字,但是建議你這么做
          下邊就是一個完整的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="hello1.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="test.ant.HelloWorld" classpath="${hello_jar}"/>
          ?</target>
          ?<target name="clean">
          ??<delete dir="${dest}" />
          ??<delete file="${hello_jar}" />
          ?</target>
          ?<target name="rerun" depends="clean,run">
          ??<ant target="clean" />
          ??<ant target="run" />
          ?</target>
          </project>

          解釋:
          <?xml version="1.0" encoding="UTF-8" ?>?
          build.xml中的第一句話,沒有實際的意義

          <project name="HelloWorld" default="run" basedir=".">
          </project>
          ant的所有內容必須包含在這個里邊,name是你給它取的名字,basedir故名思意就是工作的根目錄 .代表當前目錄。default代表默認要做的事情。

          <property name="src" value="src"/>
          類似程序中的變量,為什么這么做想一下變量的作用

          <target name="compile" depends="init">
          ??<javac srcdir="${src}" destdir="${dest}"/>
          </target>
          把你想做的每一件事情寫成一個target ,它有一個名字,depends是它所依賴的target,在執行這個target 例如這里的compile之前ant會先檢查init是否曾經被執行過,如果執行過則直接直接執行compile,如果沒有則會先執行它依賴的target例如這里的init,然后在執行這個target

          如我們的計劃
          編譯:
          <target name="compile" depends="init">
          ?<javac srcdir="${src}" destdir="${dest}"/>
          </target>

          做jar包:
          <target name="build" depends="compile">
          ?<jar jarfile="${hello_jar}" basedir="${dest}"/>
          </target>
          運行:
          <target name="run" depends="build">
          ?<java classname="test.ant.HelloWorld" classpath="${hello_jar}"/>
          </target>
          為了不用拷貝,我們可以在最開始定義好目標文件夾,這樣ant直接把結果就放在目標文件夾中了
          新建文件夾:
          <target name="init">
          ?<mkdir dir="${dest}"/>
          </target>
          為了更多一點的功能體現,又加入了兩個target
          刪除生成的文件
          <target name="clean">
          ?<delete dir="${dest}" />
          ?<delete file="${hello_jar}" />
          </target>
          再次運行,這里顯示了如何在一個target里邊調用其他的target
          <target name="rerun" depends="clean,run">
          ?<ant target="clean" />
          ?<ant target="run" />
          </target>

          好了,解釋完成了,下邊檢驗一下你的ant吧
          新建一個src的文件夾,然后把HelloWorld.java按照包目錄放進去
          做好build.xml文件
          在命令行下鍵入ant ,你會發現一個個任務都完成了。每次更改完代碼只需要再次鍵入ant

          有的時候我們可能并不想運行程序,只想執行這些步驟中的某一兩個步驟,例如我只想重新部署而不想運行,鍵入
          ant build

          ant中的每一個任務都可以這樣調用ant + target name
          好了,這樣一個簡單的ant任務完成了。

          posted on 2006-09-20 00:16 dreamstone 閱讀(5414) 評論(8)  編輯  收藏 所屬分類: 利器

          評論

          # re: ant教程(三) ant入門 2007-03-15 09:53 witti

          非常好,通俗易懂,謝謝!  回復  更多評論   

          # re: ant教程(三) ant入門 2007-07-11 13:39 郁悶

          如果有在linux下如何操作,就更好了
            回復  更多評論   

          # re: ant教程(三) ant入門 2007-07-11 16:39 Rita

          好懂,挑個小錯誤,故名思意=》顧名思義  回復  更多評論   

          # re: ant教程(三) ant入門 2007-07-12 23:34 slx

          @郁悶
          ant是跨系統的,操作河windows一樣,不過就是配置ant_home的方法不一樣
          以redhat為例,配置到.bashrc下或者profile都可以。  回復  更多評論   

          # re: ant教程(三) ant入門 2008-03-01 09:37 叮當

          謝謝,很明了  回復  更多評論   

          # re: ant教程(三) ant入門 2009-04-07 16:03 熊有成竹

          很好 我喜歡  回復  更多評論   

          # re: ant教程(三) ant入門 2010-01-21 14:52 ant新手

          謝謝,簡單易懂  回復  更多評論   

          # re: ant教程(三) ant入門[未登錄] 2012-06-13 10:26 king

          嗯 很好!很詳細  回復  更多評論   

          主站蜘蛛池模板: 西盟| 始兴县| 新田县| 平乐县| 久治县| 平塘县| 壤塘县| 高雄市| 福贡县| 楚雄市| 姚安县| 资溪县| 潼南县| 尚志市| 额敏县| 耒阳市| 逊克县| 桂林市| 古交市| 蒙阴县| 清远市| 客服| 彭泽县| 临夏市| 乐亭县| 乐安县| 尤溪县| 东平县| 京山县| 岳阳县| 瑞昌市| 微山县| 泰顺县| 南康市| 宁武县| 青铜峡市| 开阳县| 肇庆市| 延吉市| 鄂伦春自治旗| 家居|