ant的簡單使用

在前面瞭解了ant工具的一些概念,下面進行簡單的使用。

ant是一種構建工具,與make類似,但它是由java實現的,跨平臺。可以到apache官網:http://www.apache.org/進行下載。配置環境變量很簡單,和配置jdk之類的差不多,把下下來的ant解壓到某個目錄,讓環境變量指向bin目錄即可。

下面給了一個非常簡單的例子,編寫一個簡單程序,編譯它們,然後打成jar包,並運行:

HelloWorld.java:

[java] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. package test.ant;  
  2. public class HelloWorld{  
  3. public static void main(String[] args){  
  4.    System.out.println("Hello world1");  
  5. }  
  6. }  


執行ant需要一個build.xml配置文件,它描述了ant需要執行的程序,具體操作等所有信息,build.xml:

[html] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <project name="HelloWorld" default="run" basedir=".">  
  3. <property name="src" value="src"/>  
  4. <property name="dest" value="classes"/>  
  5. <property name="hello_jar" value="hello1.jar"/>  
  6. <target name="init">  
  7.    <mkdir dir="${dest}"/>  
  8. </target>  
  9. <target name="compile" depends="init">  
  10.    <javac srcdir="${src}" destdir="${dest}"/>  
  11. </target>  
  12. <target name="build" depends="compile">  
  13.    <jar jarfile="${hello_jar}" basedir="${dest}"/>  
  14. </target>  
  15. <target name="run" depends="build">  
  16.    <java classname="test.ant.HelloWorld" classpath="${hello_jar}"/>  
  17. </target>  
  18. <target name="clean">  
  19.    <delete dir="${dest}" />  
  20.    <delete file="${hello_jar}" />  
  21. </target>  
  22. <target name="rerun" depends="clean,run">  
  23.    <ant target="clean" />  
  24.    <ant target="run" />  
  25. </target>  
  26. </project>  

簡要介紹一下上面這些標籤的含義:

第一句:<?xml version="1.0" encoding="UTF-8" ?>,這個就不多說了,版本,編碼見得太多了。


<project name="HelloWorld" default="run" basedir=".">
</project>

name是你給它取的名字,basedir代碼工作的根目錄,.代表當前目錄.default代表默認要做的事情,即執行哪個操作。

<property name="src" value="src"/>  類似變量。name定義變量的名稱,value定義變量的值。

 

<target name="compile" depends="init">
   <javac srcdir="${src}" destdir="${dest}"/>
</target>

你要執行的一個操作叫做一個target,name是定義名稱,depends是它執行所依賴的target,比如這裏,在執行compile之前,會先檢查init是否曾經被執行,如果執行過就直接執行compile,否則先執行它依賴的init target,然後在執行compile target。

上面每個target從名字可以看出它們分別的作用:

新建文件夾:
<target name="init">
<mkdir dir="${dest}"/>
</target>

編譯:
<target name="compile" depends="init">
<javac srcdir="${src}" destdir="${dest}"/>
</target>

做jar包:
<target name="build" depends="compile">
<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裏邊調用其他的target
<target name="rerun" depends="clean,run">
<ant target="clean" />
<ant target="run" />
</target>

好,這個簡單的build文件就算完成了,然後新建一個src文件夾,把源程序按照這裏的test.ant包目錄放進src裏面。把build文件放到與src同一目錄下,在命令行定位到build.xml目錄下,鍵入ant命令即可,如果只想單獨執行某個target,鍵入 ant  target name,如:ant build.

ant也並沒有IDE工具好用,但它也有其特點:

在服務器部署的時候,因爲它小巧,方便,只需要一個build.xml,到任何一臺服務器只需簡單修改一些設定和目錄就可以運行。

在linux或者unix部署的時候,就發揮作用了。

當有些維護人員不懂編程時,你只需給它build文件,讓他執行簡單命令即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章