用Ant構建指令碼(1)
用Ant構建指令碼(1)
首先宣告,本文基於Apache Ant官方網站http://ant.apache.org/manual/的《Apache Ant 1.7.0Beta2 Manual》翻譯而得。
一、Apache Ant簡介
1、Ant是Java開源組織Apache的一個專案,是一個基於Java的build工具。其構建指令碼有4個不同的實現:
(1)Sun Microsystems公司的參考實現;
(2)SolarMetric的Kodo實現;
(3)Libelis的Lido實現;
(4)SignSoft的IntelliBO實現。
其實只要實現提供Ant可以使用的命令列工具,就可以實現增加新的指令碼。
Ant可以通過其指令碼語言,自動將專案檔案複製到某個目錄、開發專案,或者生成一些程式碼、執行SQL語言。總之,Ant可以幫助程式設計師完成專案開發中除了開發程式碼以外的大部分輔助性的工作。很多IDE工具能自動生成指令碼,但總有些缺點,如不能完成使用者的自定義的要求。
2、Ant的優點:
(1)語法簡單易學,指令碼使用XML格式編寫;
(2)易於使用,構建過程自動化;
(3)跨平臺,Java類路徑和目錄結構都是以可移植的方式進行處理;
(4)速度快,像編譯和打包這樣的Java常規工作都可以在Ant的JVM中進行,節省了啟動其他JVM所耗費的時間;
(5)整合JUnit,適合進行XP開發模式所提倡的單元測試;
(6)易於使用Java進行功能擴充套件;
(7)支援J2EE部署;
(8)善於Java專案的部署工作;
(9)已經成為大多數開源專案的標準構建工具;
(10)由於Ant支援測試和部署,因此可以用於“編譯-測試-部署”的過程。
3、Ant的安裝:兩種方式:
(1)用已編譯好的binary檔案安裝Ant;
(2)用原始碼自己編譯Ant。
要想自己編譯Ant,需將一個JAXP相容的XML解析器(parser)放在CLASSPATH環境變數中。binary形式的Ant包括最新版的Apache Crimson XML解析器。如想使用其他的JAXP相容的解析器,需要從Ant的lib目錄中刪掉jaxp.jar以及crimson.jar,然後將自己的解析器的JAR檔案放到Ant的lib目錄中或放在CLASSPATH環境變數中。
安裝有三個步驟:
(1)將下載的binary壓縮包解壓到所需目錄;
(2)將bin目錄加入path環境變數;
(3)設定ANT_HOME環境變數,指向Ant目錄;
(4)設定JDK的環境變數。
在windows下的安裝非常簡單,所以本文以在UNIX下安裝Ant為例,假定安裝在/usr/local/ant目錄下,設定環境變數如下:
export ANT_HOME=/usr/local/ant
export JAVA_HOME=/usr/local/jdk-1.5.0
export PATH=${PATH}:${ANT_HOME}/bin
4、Ant命令列使用方法:
ant [options] [target1[target2[target3…]]]
其中,options引數和意義:
-help:顯示描述antml及其選項的幫助資訊;
-projecthelp:顯示包含在構建檔案種的、所有使用者編寫的構建文件,也即各個<target>中description屬性的文字,以及包含在<description>元素中的任何文字;
-version:顯示Ant及其版本資訊,然後退出;
-quiet:阻止不是由構建檔案中的echo任務所產生的大多數資訊;
-verbose:顯示構建過程中每個操作的詳細資訊,此選項與debug選項只能二選其一;
-debug:顯示Ant和任務釋出人員已經標誌為除錯資訊的資訊;
-emacs:對日誌訊息進行格式化;
-logfile:將日誌輸出重定向到指定的檔案;
-logger:指定一個類來處理Ant的日誌記錄,所指定的類必須實現org.apache.tools.ant.BuildLogger介面;
-listener:為Ant宣告一個監聽器,並增加到其監聽者列表中;
-buildfile:指定Ant需要處理的構建檔案,預設的檔案為build.xml;
-find:指定Ant需要處理的構建檔案,如果找不到,則到父目錄中去搜尋,直到系統根目錄為止。
5、預設的專案目錄
常用的專案目錄:
bin:公共的二進位制檔案,以及執行指令碼;
build:臨時建立的檔案,如類檔案等;
dist:目標輸出檔案,如生成jar檔案等;
doc/javadocs:文件;
lib:需要匯出的java包;
src:原始檔。
6、構建檔案
Ant的build檔案包含一個根節點project,每個project定義了至少一個或多個target,每個target又是一系列task的集合。
每個task是一段可被執行的程式碼,學習Ant的過程其實就是掌握這大量的task。
相關文章
- 用Ant構建指令碼(2)指令碼
- 用Ant構建指令碼(4)指令碼
- Window下采用ant 指令碼構建Android自動化編譯指令碼Android編譯
- Jenkins實現持續整合 使用Ant指令碼構建ios專案Jenkins指令碼iOS
- 用ANT構建java可執行程式 (轉)Java行程
- 利用ant指令碼 自動構建svn增量/全量 系統程式升級包指令碼
- shell-----構建基本指令碼指令碼
- esbuild 構建油猴指令碼UI指令碼
- ant指令碼呼叫.bat檔案指令碼BAT
- 學習Ant編譯指令碼編譯指令碼
- ANT批量執行Jmeter指令碼JMeter指令碼
- 構建dubbo分散式平臺-maven構建ant-framework核心程式碼Base封裝分散式MavenFramework封裝
- (九) 構建dubbo分散式平臺-maven構建ant-framework核心程式碼Base封裝分散式MavenFramework封裝
- vue 構建環境切換指令碼Vue指令碼
- 轉載 利用ANT構建CI系統
- 利用 ant 指令碼修改專案包名指令碼
- Gradle系列之構建指令碼基礎Gradle指令碼
- iOS自動構建打包釋出指令碼iOS指令碼
- Ant 編譯、打包 build.xml 指令碼模板編譯UIXML指令碼
- (十) 構建dubbo分散式平臺-maven構建ant-utils工具專案分散式Maven
- ant構建時出現錯誤解決方案
- 指令碼1指令碼
- Android 配置 Ant 指令碼之程式碼混淆和優化Android指令碼優化
- 通過ant指令碼編譯打包android工程指令碼編譯Android
- Vue.js原始碼解析-從scripts指令碼看vue構建Vue.js原始碼指令碼
- 用程式碼構建星辰大海
- 使用node構建檔案重新命名指令碼工具指令碼
- 【構建】start.sh指令碼中變數被maven profile構建過程替換指令碼變數Maven
- oracle建庫指令碼Oracle指令碼
- ant指令碼實現的Android自動編譯指令碼Android編譯
- DBA指令碼 (1)指令碼
- Ant Tips(1)
- 不得不學之「 Gradle」 ③ 構建指令碼基礎Gradle指令碼
- Jenkins構建指令碼中啟動tomcat關鍵Jenkins指令碼Tomcat
- 建庫指令碼下載指令碼
- 1. 構建您的第一個應用
- 從零開始構建Web應用-PART 1Web
- 構建dubbo分散式平臺-maven構建ant-framework框架的pom.xml檔案配置分散式MavenFramework框架XML