ANT學習筆記 (轉)
ANT學習筆記 (轉)[@more@]
注:我看到很多專案的ant指令碼中的命名基本上都是一致的,比如:編譯一般叫build或者compile;打包一般叫jar或war;生成文件一般命名為javadoc或javadocs;全部任務all。在每個任務的中,ANT會根據呼叫一些外部應用並配以相應引數執行。雖然ANT可呼叫的外部應用種類非常豐富,但其實最常用的就2,3個:比如javac javadoc jar等。
export ANT_HOME=/home/ant
export JAVA_HOME=/usr/java/j2sdk1.4.1
export PATH=$PATH:$JAVA_HOME/bin:$ANT_HOME/bin
這樣執行ant 後,如果不指定配置ant會預設找build.xml這個配置檔案,並根據配置檔案執行任務,預設的任務設定可以指向最常用的任務,比如: build,或指向列印幫助資訊:usage,告訴有那些指令碼選項可以使用。
ANT的使用
最好的學習過程就是看懂那些專案中的build.xml指令碼,然後根據自己的需要簡化成一個更簡單的,ANT和上很多非常工程派的專案:簡單易用,而且適應性非常強,因為這些專案的建立往往來源於開發人員日常最直接的需求。
以下是的一個/projects/lucene/">WebLucene應用的例子:修改自.org/">JDOM的build.xml:
<!-- =================================================================== -->
<!-- Initialization target -->
<!-- =================================================================== -->
<!-- =================================================================== -->
<!-- Help on usage -->
<!-- =================================================================== -->
<!-- =================================================================== -->
<!-- Prepares the source code -->
<!-- =================================================================== -->
<!-- create directories -->
<!-- copy src files -->
<!-- =================================================================== -->
<!-- Compiles the source directory -->
<!-- =================================================================== -->
destdir="${build.dest}"
debug="${debug}"
optimize="${optimize}">
<!-- =================================================================== -->
<!-- Creates the class package -->
<!-- =================================================================== -->
basedir="${build.dest}"
includes="**"/>
<!-- =================================================================== -->
<!-- Creates the API documentation -->
<!-- =================================================================== -->
sourcepath="${build.src}"
destdir="${build.javadocs}"
author="true"
version="true"
use="true"
splitindex="true"
windowtitle="${Name} API"
doctitle="${Name}">
<!-- =================================================================== -->
<!-- Clean targets -->
<!-- =================================================================== -->
<!-- End of file -->
預設任務:usage 列印幫助文件,告訴有那些任務選項:可用的有build, jar, javadoc和clean.
初始化環境變數:init
所有任務都基於一些基本環境變數的設定初始化完成,是後續其他任務的基礎,在環境初始化過程中,有2點比較可以方便設定:
1 除了使用卻預設的property設定了JAVA源路徑和輸出路徑外,引用了一個外部的build.properties檔案中的設定,
這樣大部分簡單配置使用者只要會看懂build.properties就可以了,畢竟XML比起key value的屬性檔案還是要可讀性差一些。用build.properties也可以方便其他使用者從編譯的細節中解放出來。
2 CLASSPATH設定:使用了其中的:
則相當於設定了:CLASSPATH=/path/to/resin/lib/jsdk23.jar; /path/to/project/lib/*.jar;
檔案複製:prepare-src
建立臨時SRC存放目錄和輸出目錄。
<!-- =================================================================== -->
<!-- Prepares the source code -->
<!-- =================================================================== -->
<!-- create directories -->
<!-- copy src files -->
編譯任務:build
編譯時的CLASSPATH環境透過一下方式找到引用一個path
打包任務:jar
對應用打包生成專案所寫名的.jar檔案
<!-- =================================================================== -->
<!-- Creates the class package -->
<!-- =================================================================== -->
basedir="${build.dest}"
includes="**"/>
生成JAVADOC文件任務: javadoc
<!-- =================================================================== -->
<!-- Creates the API documentation -->
<!-- =================================================================== -->
sourcepath="${build.src}"
destdir="${build.javadocs}"
author="true"
version="true"
use="true"
splitindex="true"
windowtitle="${Name} API"
doctitle="${Name}">
清空臨時編譯檔案:clean
<!-- =================================================================== -->
<!-- Clean targets -->
<!-- =================================================================== -->
TODO:
更多工/擴充套件:(樣例)
參考資料:
ANT學習筆記
作者: 車東 E: chedongATbigfoot.com/chedongATchedong.com
寫於:/05 最後: 06/29/2003 02:43:03
版權宣告:可以任意轉載,轉載時請務必以超連結形式標明文章原始出處和作者資訊及本宣告
關鍵詞:ant build. c
內容摘要:
ant是一個基於JAVA的自動化指令碼引擎,指令碼格式為XML。除了做JAVA編譯相關任務外,ANT還可以透過實現很多應用的。
- ANT的基本概念:
- ANT的:解包,設定路徑
- ANT的使用:最好的學習只不過是一個簡單實用的例子起步……
ANT的基本概念:Java的Makefile
當一個程式碼專案大了以後,每次重新編譯,打包,測試等都會變得非常複雜而且重複,因此c語言中有make指令碼來幫助這些工作的批次完成。在Java 中應用是平臺無關性的,當然不會用平臺相關的make指令碼來完成這些批處理任務了,ANT本身就是這樣一個流程指令碼引擎,用於自動化呼叫完成專案的編譯,打包,測試等。除了基於JAVA是平臺無關的外,指令碼的格式是基於XML的,比make指令碼來說還要好維護一些。
每個ant指令碼(預設叫build.xml)中設定了一系列任務(target):比如對於一個一般的專案可能需要有以下任務。
- 任務1:usage 列印本指令碼的幫助資訊(預設)
- 任務2:clean 任務3:javadoc 任務4:jar 任務5:all
注:我看到很多專案的ant指令碼中的命名基本上都是一致的,比如:編譯一般叫build或者compile;打包一般叫jar或war;生成文件一般命名為javadoc或javadocs;全部任務all。在每個任務的中,ANT會根據呼叫一些外部應用並配以相應引數執行。雖然ANT可呼叫的外部應用種類非常豐富,但其實最常用的就2,3個:比如javac javadoc jar等。
ANT的安裝
解包後在可執行路徑中加入指向ant的bin的路徑就可以了,比如可以在/上把以下配置加入/etc/profile中:export ANT_HOME=/home/ant
export JAVA_HOME=/usr/java/j2sdk1.4.1
export PATH=$PATH:$JAVA_HOME/bin:$ANT_HOME/bin
這樣執行ant 後,如果不指定配置ant會預設找build.xml這個配置檔案,並根據配置檔案執行任務,預設的任務設定可以指向最常用的任務,比如: build,或指向列印幫助資訊:usage,告訴有那些指令碼選項可以使用。
ANT的使用
最好的學習過程就是看懂那些專案中的build.xml指令碼,然後根據自己的需要簡化成一個更簡單的,ANT和上很多非常工程派的專案:簡單易用,而且適應性非常強,因為這些專案的建立往往來源於開發人員日常最直接的需求。以下是的一個/projects/lucene/">WebLucene應用的例子:修改自.org/">JDOM的build.xml:
<!-- =================================================================== -->
<!-- Initialization target -->
<!-- =================================================================== -->
<!-- =================================================================== -->
<!-- Help on usage -->
<!-- =================================================================== -->
<!-- =================================================================== -->
<!-- Prepares the source code -->
<!-- =================================================================== -->
<!-- create directories -->
<!-- copy src files -->
<!-- =================================================================== -->
<!-- Compiles the source directory -->
<!-- =================================================================== -->
debug="${debug}"
optimize="${optimize}">
<!-- =================================================================== -->
<!-- Creates the class package -->
<!-- =================================================================== -->
includes="**"/>
<!-- =================================================================== -->
<!-- Creates the API documentation -->
<!-- =================================================================== -->
destdir="${build.javadocs}"
author="true"
version="true"
use="true"
splitindex="true"
windowtitle="${Name} API"
doctitle="${Name}">
<!-- =================================================================== -->
<!-- Clean targets -->
<!-- =================================================================== -->
<!-- End of file -->
預設任務:usage 列印幫助文件,告訴有那些任務選項:可用的有build, jar, javadoc和clean.
初始化環境變數:init
所有任務都基於一些基本環境變數的設定初始化完成,是後續其他任務的基礎,在環境初始化過程中,有2點比較可以方便設定:
1 除了使用卻預設的property設定了JAVA源路徑和輸出路徑外,引用了一個外部的build.properties檔案中的設定,
這樣大部分簡單配置使用者只要會看懂build.properties就可以了,畢竟XML比起key value的屬性檔案還是要可讀性差一些。用build.properties也可以方便其他使用者從編譯的細節中解放出來。
2 CLASSPATH設定:使用了其中的:
則相當於設定了:CLASSPATH=/path/to/resin/lib/jsdk23.jar; /path/to/project/lib/*.jar;
檔案複製:prepare-src
建立臨時SRC存放目錄和輸出目錄。
<!-- =================================================================== -->
<!-- Prepares the source code -->
<!-- =================================================================== -->
<!-- create directories -->
<!-- copy src files -->
編譯任務:build
編譯時的CLASSPATH環境透過一下方式找到引用一個path
打包任務:jar
對應用打包生成專案所寫名的.jar檔案
<!-- =================================================================== -->
<!-- Creates the class package -->
<!-- =================================================================== -->
includes="**"/>
生成JAVADOC文件任務: javadoc
<!-- =================================================================== -->
<!-- Creates the API documentation -->
<!-- =================================================================== -->
destdir="${build.javadocs}"
author="true"
version="true"
use="true"
splitindex="true"
windowtitle="${Name} API"
doctitle="${Name}">
清空臨時編譯檔案:clean
<!-- =================================================================== -->
<!-- Clean targets -->
<!-- =================================================================== -->
TODO:
更多工/擴充套件:(樣例)
- 測試任務:JUnit測試
- 程式碼風格檢查任務:CheckStyle,Jalopy等
- 警報任務:可以把以上這些任務的輸出警告傳送到制定的使用者列表中,這個任務可以設定每天自動執行。
參考資料:
Jakarta ANT:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-982801/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- sed學習筆記(轉)筆記
- gurb學習筆記(轉)筆記
- GRUB學習筆記(轉)筆記
- TreeView學習筆記 (轉)View筆記
- ctf學習筆記[轉載]筆記
- SAP BASIS學習筆記(轉)筆記
- PE學習筆記(一) (轉)筆記
- JSP標記學習筆記 (轉)JS筆記
- repuest轉發學習筆記一筆記
- C#學習筆記(一) (轉)C#筆記
- 我的Hook學習筆記 (轉)Hook筆記
- Microsoft Agent 學習筆記 (一) (轉)ROS筆記
- 我的COM學習筆記 (轉)筆記
- APT HOWTO 學習筆記(轉)APT筆記
- 學習筆記:debfoster & deborphan(轉)筆記
- linux安全學習筆記(轉)Linux筆記
- numpy的學習筆記\pandas學習筆記筆記
- 多執行緒學習筆記 (轉)執行緒筆記
- sed 學習筆記(與大家共勉)(轉)筆記
- (轉載)ORACLE MODEL子句學習筆記Oracle筆記
- Win32學習筆記 序 (轉)Win32筆記
- STL的學習筆記之一 (轉)筆記
- <<軟體設計學習筆記>> (轉)筆記
- PMP學習筆記-溝通管理(轉)筆記
- 正規表示式學習筆記 (轉)筆記
- ant的下載與安裝——mybatis學習筆記之預備篇(一)MyBatis筆記
- XML初學進階學習筆記(1)(轉)XML筆記
- XML初學進階學習筆記(5)(轉)XML筆記
- XML初學進階學習筆記(4)(轉)XML筆記
- XML初學進階學習筆記(3)(轉)XML筆記
- XML初學進階學習筆記(2)(轉)XML筆記
- IT學習筆記筆記
- 學習筆記筆記
- 10g NewFeatures學習筆記(轉)筆記
- 彙編學習筆記之轉移指令筆記
- 依賴倒轉原則--學習筆記筆記
- Python——格式轉換的學習筆記Python筆記
- 【C#學習筆記】型別轉換C#筆記型別