Ant 的特點

Apache Ant 一種基於XML的腳本語言,主要用與build。較之於makefile,有一下幾個優點:

  1. 可移植性。Makefile依賴於shell腳本,因此高度依賴環境,也就是說,有必要爲相同的工程在linux和windows上創建不同的make file文件。而ant不需要,因爲ant是基於java和XML的。而且ant的功能已經被許多用戶在多操作系統上進行了驗證。
  2. 更多更有用的工具。例如,可以通過引入AntContrib對其進行擴展,以支持<if>和<for>等控制流程的task。(儘管爲了保持邏輯的簡單性,有時推薦過多使用控制流程的task)
  3. 可擴展性較強。例如Oracle的測試框架testlogic。
  4. Ant源文件的結構性使得測試變得更加便捷。

關於其中結構性,個人認爲主要體現在一下幾個方面:

  1. Ant的buildfile是用XML寫的。每個buildfile包含一個project節點,project節點至少要有一個target節點。target節點包含若干個task節點。
  2. Ant支持節點之間的引用。例如,每個節點都有一個唯一的id,通過這個id,它可以被其他節點引用。
  3. 對於build中較爲常用的PATH和CLASSPATH類型對象,Ant提供了種類豐富的結構化定義方法。支持路徑,文件集合(包含特定格式的文件名,排除特定格式的文件名,文件夾,文件列表引用)
<classpath>
  <pathelement path="${classpath}"/>
  <fileset dir="lib">
    <include name="**/*.jar"/>
  </fileset>
  <pathelement location="classes"/>
  <dirset dir="${build.dir}">
    <include name="apps/**/classes"/>
    <exclude name="apps/**/*Test*"/>
  </dirset>
  <filelist refid="third-party_jars"/>
</classpath>

<path id="base.path">
  <pathelement path="${classpath}"/>
  <fileset dir="lib">
    <include name="**/*.jar"/>
  </fileset>
  <pathelement location="classes"/>
</path>

【1】http://ant.apache.org/manual/

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