ANT安裝、配置
文章轉載自網際網路,如果您覺得我們侵權了,請聯絡,我們會立刻處理。
內容摘要:
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的路徑就可以了,比如可以在GNU/Linux上把以下配置加入/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的使用
最好的學習過程就是看懂那些open source專案中的build.xml指令碼,然後根據自己的需要簡化成一個更簡單的,ANT和APACHE上很多非常工程派的專案:簡單易用,而且適應 性非常強,因為這些專案的建立往往來源於開發人員日常最直接的需求。
以下是的一個應 用的例子:修改自的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:
更多工/擴充套件:(樣例)
以下是的一個應 用的例子:修改自的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等
- 郵件警報任務:可以把以上這些任務的輸出警告傳送到制定的使用者列表中,這個任務可以設定每天自動執行。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/750220/viewspace-905572/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ANT安裝、配置(轉)
- 1-ANT-安裝與配置
- ubuntu中ANT的安裝和配置Ubuntu
- Ant安裝
- ant應該如何安裝
- 分享 jdk ant 綠色安裝及自動化配置 for windowsJDKWindows
- 本地windows搭建spark環境,安裝與詳細配置(jdk安裝與配置,scala安裝與配置,hadoop安裝與配置,spark安裝與配置)WindowsSparkJDKHadoop
- linux下安裝手記(jdk,subversion,ant,svnant)LinuxJDKNaN
- zabbix安裝—–nginx安裝和配置Nginx
- Zookeeper 安裝配置
- 【mongodb安裝配置】MongoDB
- ceph安裝配置
- ELK 安裝配置
- Prometheus安裝配置Prometheus
- MySQL安裝配置MySql
- SwitchOmega 安裝配置
- Hive安裝配置Hive
- JWT安裝配置JWT
- oracle安裝配置Oracle
- VNC安裝配置VNC
- rlwrap 安裝配置
- otrs安裝配置
- Sybase安裝配置
- memcache安裝配置
- mfs安裝配置
- storm安裝配置ORM
- Mysql 安裝 配置MySql
- memcached 安裝配置
- Mycat 安裝配置
- rcp 安裝配置
- alertmanager安裝配置
- 完善ANT的配置檔案
- centos7 (阿里雲、linux) 單機spark的安裝與配置詳解(jdk安裝與配置,scala安裝與配置,hadoop安裝與配置,spark安裝與配置)CentOS阿里LinuxSparkJDKHadoop
- MYSQL + MHA +keepalive + VIP安裝配置(一)--MYSQL安裝配置MySql
- React降級配置及Ant Design配置React
- CentOS 7 安裝、配置、使用 PostgreSQL 10 安裝及基礎配置CentOSSQL
- 安裝和配置Drupal 8教程,如何安裝和配置Drupal 8?
- MYSQL + MHA +keepalive + VIP安裝配置(三)--keepalived安裝配置MySql