如何在 Ant 中声明和使用属性
Ant 提供了一些内置属性
属性名称 | 值 |
---|---|
BASEDIR |
项目基础的绝对路径 |
ant.file | 构建文件的绝对路径。 |
ant.version | Ant 的版本 |
ant.project.default 目标 | 当前正在执行的项目的默认目标的名称 |
ant.project.name | 项目名称 |
ant.java.version | 检测到 JVM 版本 Ant |
在此示例中,我们将创建自定义 ant 属性并使用它们来创建临时目录并在其中复制文件。
- 在同一文件中声明的属性。
<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 目录。
- 在不同文件中声明的属性。
在这个例子中,我们将引用在不同文件中声明的属性。这是一个包含应用程序版本的示例文件(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 文件。