1. 程式人生 > >Ant—使用Ant構建簡單Java專案(一)

Ant—使用Ant構建簡單Java專案(一)

        Apache Ant主要用於Java專案的構建。為什麼要使用Apache Ant來構建專案呢:

        1)專案構建不是簡單的編譯,各種資源需要合理構建,例如有的類需要壓縮成jar檔案,有的檔案需要放在指定位置,有時候需要使用配置檔案。這些工作是繁雜瑣碎的,手工處理難免出錯。
        2)諸如Myeclipse之類的IDE工具可以方便地部署web專案,但是脫離了這些整合工具,例如在需要部署專案的機器上沒有這種整合工具或者目標機器的作業系統不支援這種工具,怎麼辦?這時Apache Ant是很好的工具。
        現在以一個簡單的Java專案為例來說明Apache Antt的專案構建過程(專案名稱test,其中src資料夾中包含原始檔Test.java【】):
        第一步:Apache Ant的安裝配置。如何安裝Apache Ant請參見部落格《》。此外還要安裝JDK,至於如何安裝,請搜尋百度,該配置很簡單。

        第二步:解壓下載下來的壓縮檔案,再次解壓資料夾中名為“test.zip”的資料夾並將解壓後的名為test的資料夾拷貝到適當的位置(這裡拷貝到了C盤根目錄下),此時工程目錄結構如下:

        C盤

          |---test資料夾

          |            |----src(該資料夾用於存放Java程式碼)

          | ---其它檔案或資料夾

        第三步:在test資料夾中新建名為build.xml的檔案(該檔案和src資料夾同級)並將下面程式碼拷貝到build.xml檔案中:

<?xml version="1.0" encoding="UTF-8"?>
<project name="test" default="run-Test" basedir=".">

	<property name="src" value="src"/>
	<property name="lib" value="build/lib"/>
	<property name="dest" value="build/classes"/>
	<property name="np_jar" value="build/lib/test.jar"/>

	<target name="create-path">
		<mkdir dir="${dest}"/>
		<mkdir dir="${lib}"/>
	</target>

	<target name="create-class">
		<javac srcdir="${src}" destdir="${dest}"/>
	</target>

	<target name="create-jar">
		<jar destfile="${np_jar}" basedir="${dest}">
		   <manifest>
			  <attribute name="Main-Class" value="Test"/>
		   </manifest>
		</jar>
	</target>

	<target name="run-Test">
		<java classname="Test" classpath="${np_jar}"/>
	</target>

	<target name="clean">
		<delete file="${np_jar}"/>
		<delete dir="${dest}"/>
		<delete dir="${lib}"/>
	</target>
</project>
        上面程式碼說明:

        a、Ant指令碼使用XML描述,其中project標籤是根標籤,該標籤中name屬性用於註明工程名稱,default屬性用於指定預設啟動的target(即當在DOS中只輸入ant並回車時所執行的命令),basedir屬性用於註明工程根目錄(“.”代表當前目錄);

        b、property標籤用於在本xml檔案中定義屬性及屬性值,其中name屬性定義屬性名而value定義相應的屬性值,所定義的屬性在整個XML文件中都可以通過"${屬性名}" 來呼叫;

        c、target標籤用於定義ant相應的任務:create-path---初始化,建立目錄,為後面的構建工作做準備;create-class---編譯,生成class檔案;create-jar---生成jar檔案;run-Test---執行指定的Java類;clean---清除構建動作生成的檔案及目錄,這些任務可以通過“ant target標籤中name屬性值”進行呼叫。

        第四步、進入DOS視窗執行任務:

        a、ant create-path:該命令用於在專案(這裡為test資料夾下)下建立一個build/classes目錄和build/lib目錄,命令執行結果如下圖:


        b、ant create-class:該命令用於將指定目錄中的原始檔(這裡指Test.java檔案)全部編譯,並把編譯後的類檔案(即class檔案)放在build/classes下,命令執行結果如下圖:


        c、ant  create-jar:該命令用於在build/lib下生成專案對應的jar檔案,命令執行結果如下圖:


        d、ant run-Test:該命令用於執行Test類,命令執行結果如下圖:


        e、ant clean:該命令用於刪除指定路徑的檔案及資料夾,命令執行結果如下圖:


        至此,使用Ant構建簡單Java專案試驗結束。