1. 程式人生 > >ant中build.xml文件解釋

ant中build.xml文件解釋

project 什麽 dep pat java cdir AR 計劃 Coding

下邊就是一個完整的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任務完成了。

ant中build.xml文件解釋