Ant 構(gòu)建文件是用 XML 編寫的,它不能像你喜歡的編程語言那樣去聲明變量。然而,正如你可能已經(jīng)想到的,如果允許 Ant 聲明變量,如項目名稱,項目源目錄等,這將是非常有用的。
Ant 使用屬性 (property) 元素來讓你能夠具體說明屬性。這就允許這些屬性能夠在不同的構(gòu)建和不同的環(huán)境下發(fā)生改變。
默認(rèn)情況下,Ant 提供以下預(yù)定義的屬性,這些屬性都是可以在構(gòu)建文件中使用的:
屬性 | 解釋 |
---|---|
ant.file | 該構(gòu)建文件的完整地址 |
ant.version | 安裝的 Apache Ant 的版本 |
basedir | 構(gòu)建文件的基目錄的絕對路徑,作為 **project** 元素的 **basedir** 屬性 |
ant.java.version | Ant 使用的 JAVA 語言的軟件開發(fā)工具包的版本 |
ant.project.name | 項目的名字,具體聲明為 **project** 元素的 **name** 屬性 |
ant.project.default-target | 當(dāng)前項目的默認(rèn)目標(biāo) |
ant.project.invoked-targets | 在當(dāng)前項目中被調(diào)用的目標(biāo)的逗號分隔列表 |
ant.core.lib | Ant 的 jar 文件的完整的地址 |
ant.home | Ant 安裝的主目錄 |
ant.library.dir | Ant 庫文件的主目錄,特別是 ANT_HOME/lib 文件夾 |
Ant 也確保系統(tǒng)屬性在構(gòu)建文件中可用,如 file.separator。
除了上述內(nèi)容以外,用戶也可以使用 property 元素定義一些額外的屬性。下面的例子就演示了怎樣去定義一個叫做 sitename 的屬性:
<?xml version="1.0"?>
<project name="Hello World Project" default="info">
<property name="sitename" value="www.tutorialspoint.com"/>
<target name="info">
<echo>Apache Ant version is ${ant.version} - You are at ${sitename} </echo>
</target>
</project>
在上述的構(gòu)建文件下運行 Ant 可以產(chǎn)生以下輸出:
C:\>ant
Buildfile: C:\build.xml
info: [echo] Apache Ant version is Apache Ant(TM) version 1.8.2
compiled on December 20 2010 - You are at www.tutorialspoint.com
BUILD SUCCESSFUL
Total time: 0 seconds
C:\>