如何在 Ant 中宣告和使用屬性

Ant 提供了一些內建屬性

屬性名稱
BASEDIR 專案基礎的絕對路徑
ant.file 構建檔案的絕對路徑。
ant.version Ant 的版本
ant.project.default 目標 當前正在執行的專案的預設目標的名稱
ant.project.name 專案名稱
ant.java.version 檢測到 JVM 版本 Ant

在此示例中,我們將建立自定義 ant 屬性並使用它們來建立臨時目錄並在其中複製檔案。

  1. 在同一檔案中宣告的屬性。
<project name="Test Project for Ant" default="init">
    <property name="temp.dir" value="${basedir}/temp" />

    <target name="init" description="initialize">
        <mkdir dir="${temp.dir}" />
        <copy file="${basedir}/test.xml" todir="${temp.dir}/" />
    </target>
</project>

在 Ant 中,$ {basedir}將引用基本位置或 ant 檔案所在的位置。在這裡,我宣告瞭一個名為的屬性

temp.dir

這將引用 basedir / temp 位置。

因此,我們呼叫 target init 它將用它的實際值替換佔位符$ {temp.dir}並開始執行我們的指令碼。此目標將在基本目錄 copy test.xml 檔案下建立名為 temp 的目錄到 temp 目錄。

  1. 在不同檔案中宣告的屬性。

在這個例子中,我們將引用在不同檔案中宣告的屬性。這是一個包含應用程式版本的示例檔案(app_version.xml)。

<project name="Project Properties">
     <property name="app.version" value="1.0" />
</project>

要包含此檔案,我們將新增 import ant 任務以在執行 ant 目標時匯入此檔案。

<import file="app_version.xml" />

上面的程式碼看起來像

<project name="Test Project for Ant" default="init">
<import file="app_version.xml" />
<property name="temp.dir" value="${basedir}/temp" />

<target name="init" description="initialize">
    <mkdir dir="${temp.dir}" />
    <copy file="${basedir}/test.xml" todir="${temp.dir}/" />
    <echo message="App version is:${app.version}" />
</target>

匯入檔案後,可以通過屬性名稱(app.version)直接訪問該檔案。

我使用 .xml 檔案,相同的用例也適用於 .properties 檔案。