Java構建工具Ant之第一個build.xml
ANT是一個構建工具,它有跨平臺、操作簡單、 安裝簡單、占用資源少等特點,它只有一個配置文件build.xml,我們要做的事情就是在build.xml中去定義我們想要做的事情,ANT它本身有 很多命令和語法,筆者剛接觸時也是比較頭大,后面慢慢去學習查詢,基本上了解了整個build.xml包含的內容,***的學習辦法就是查看例子,通過例子 去熟悉不同標簽里面的屬性和參數的含義,我們不需要全部都要記住,只要在使用的時候知道如何去查詢即可。
下面來構建我們***個build.xml文件,這只是簡單的開始:
在D:/test/ant/src下創建HelloWorld.java文件
- package test.ant;
- public class HelloWorld {
- public static void main(String[] args) {
- System.out.println("Hello World");
- }
- }
在上一級目錄創建build.xml文件,鍵入以下內容:
- <?xml version="1.0" encoding="UTF-8"?>
- <project name="HelloWorld" default="run" basedir="."><!-- 項目名為HelloWorld,default代表默認要做的事情,.代表當前目錄-->
- <property name="src" value="src"/><!-- 定義src變量 -->
- <property name="dest" value="classes"/> <!-- 定義dest變量-->
- <property name="hello_jar" value="hello.jar"/><!-- 定義hello_jar變量-->
- <target name="init"> <!-- 定義一個目標,這里表示初始化,mkdir表示創建一個目錄,${dest}表示取變量dest的值 -->
- <mkdir dir="${dest}"/>
- </target>
- <!-- 編譯目標,depends是它依賴的target,在init執行過才執行compile-->
- <target name="complie" depends="init">
- <!-- 運行javac命令 srcdir源目錄 destdir目標目錄-->
- <javac srcdir="${src}" destdir="${dest}"/>
- </target>
- <!-- 構建目標,依賴compile-->
- <target name="build" depends="complie">
- <!-- 運行jar命令 jarfile為jar文件 basedir為classes-->
- <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>
來總結一下以上用到的元素:
project節點元素
Ant構建文件的根元素,屬性:
- name屬性:用于指定project元素的名稱。
- default屬性:用于指定project默認執行時執行的target的名稱。
- basedir屬性:用于指定基路徑的位置。
property節點元素
用于定義變量或參數的定義,屬性:
- name屬性:變量名字
- value屬性:變量值
target節點元素
可以看做是一個任務,它有如下屬性:
- name屬性:指定target元素的名稱。
- depends屬性:用于描述target之間的依賴關系。
- if屬性:用于驗證指定的屬性是否存在,若不存在,所在target將不會被執行。
- unless 屬性:該屬性的功能與 if 屬性的功能正好相反,它也用于驗證指定的屬性是否存在,若不存在,所在 target 將會被執行。
- description 屬性:該屬性是關于 target 功能的簡短描述和說明。
mkdir命令
創建目錄。
javac命令
用于編譯一個或一組java文件。
jar命令
用來生成一個JAR文件。
delete命令
對文件或目錄進行刪除。