一. 安裝配置Ant:下載地址爲http://jakarta.apache.org,假設解壓Ant的目錄爲<ANT-HOME>,接下來需在操作系統中設置如下環境變量:
1. ANT_HOME:ant的安裝目錄;
2. JAVA_HOME:JDK的安裝目錄;
3. PATH:把%ANT_HOME%/bin目錄添加到PATH變量中,以便從命令行下直接運行ant;
二.創建build.xml文件:
1. 每個工程都對應一個build.xml文件,這個文件包含了與這個工程有關的路徑信息和任務;
2. 每個build.xml文件都包含一個project和至少一個target元素;
3. target元素中包含一個或多個任務元素,任務是一段可執行代碼,ant提供了內置任務集,用戶也可開發自己的任務元素;
4. 最常用的構建工程的ant內置任務描述有:
? property:設置name/value形式的屬性;
? mkdir:創建目錄;
? copy:拷貝文件或文件夾;
? delete:刪除文件或文件夾;
? javac:編譯Java源文件:
? war:爲web應用打包;
? javadoc:生成JAVA文檔;
? jar:打包文檔;
? java:運行java類;
三.build.xml元素簡介:
1. 根元素"project":<project name=''工程名稱" default="工程默認的target元素(必須指定)" basedir="工程基路徑(如果設置爲'.'就表示工程基路徑爲build.xml文件所在的路徑)">;
2. target元素:<target name="任務名稱" depends="執行本target之前必須完成的target">;
3. property元素:<property name="屬性名" value="屬性值">;另:<property environment="env"/> <property name="servletpath" value="${env.CATALINA_HOME}/common/lib/servlet-api.jar"/>,以上代碼設置了一個系統環境屬性env,通過它可以訪問系統環境變量,${env.CATALINA_HOME}代表了CATALINA_HOME系統環境變量;
4. mkdir元素:<mkdir dir="指定需創建的目錄">,如果路徑內容以"/","/"或"c:/"之類開始,就表示絕對路徑,否則表示相對路徑,相對路徑的基路徑取決於project元素的basedir屬性;
5. copy元素:<copy todir="指定把文件拷貝到哪個目錄"><fileset dir="指定從哪個目錄拷貝文件"><include name="指定需要拷貝哪些文件"/><exclude name="指定不需要拷貝哪些文件"/><!--</span-->fileset><!--< /span-->copy>(對於<include name="WEB-INF/**">表示需要拷貝WEB-INF目錄下所有的文件,子目錄及子目錄下的文件,如果是<include name="WEB-INF/*.*">表示只拷貝WEB-INF目錄下所有的文件,不包含子目錄及子目錄下的文件);
6. javac元素:用來編譯Java源程序,<javac srcdir="Java源程序存放的目錄" destdir="生成的class文件存放的目錄,目錄結構與package語句一致" classpath="在編譯時需引用的jar文件路徑(多個文件路徑間用':'號分隔)"><!--</span--> javac>;
7. war元素: <war warfile=”生成的war文件名” webxml=”web應用的web.xml文件”><lib dir=”web應用的lib目錄”/><classes dir=”web應用的classes目錄”/><fileset dir=”指定把該目錄下的所有文件加入到包中”/><!--</span-->war>;
8. echo元素: 它的作用與Dos的echo命令相似,用於向控制檯回顯文本,<echo message=”文本內容”/>或<echo>文本內容<!--</span-->echo>;
9. jar元素: <jar jarfile=”打包的jar文件名”><fileset dir=”指定需打包的文件目錄”/><!--</span-->jar>;
10. javadoc元素: <javadoc packagenames="${packages}" sourcepath="${build.src}" destdir="${build.javadocs}" author="true" version="true" use="true" splitindex="true" windowtitle="${Name} API" doctitle="${Name}"><classpath refid="classpath"/><!--</span-->javadoc>;
四.運行Ant:
1. 直接運行ant,如果不帶任何參數,ant會在當前路徑下搜索build.xml文件,如果找到,就運行project元素的default屬性指定的target;
2. 帶參數執行ant:ant [-buildfile build.xml文件路徑 [target名稱]];
五.使用習慣:
1. target一般分爲:
1) usage: 打印本腳本的幫助信息(缺省);
2) init: 初始化信息,變量等;
3) build(or compile): 編譯;
4) javadoc: 生成Java API文檔;
5) jar: 將生成文件打包成Jar包;
6) war: 將生成文件打包成war包(web應用)
7) clean: 清除過程文件,目錄;
8) all: 全部任務執行;
2. Ant在項目中使用時的一般目錄結構:
+-dist //放置編譯,打包後的最終文件(classes文件,jar包,war包)
+-src
+-package //放置java源文件
+-webroot //jsp源文件及相關配置文件
+-build //放置編譯後的文件
+-lib //放置編譯所需要的相關類文件(jar包)
+-doc //放置生成的API文檔
----------------------------------------------------------------------------------
注:以上部分內容引用自<<Tomcat與Java Web開發技術詳解>>一書.