当你只需要对小部分属性进行设置时,可以选择直接在构建文件中设置。然而,对于大项目,最好将设置属性的信息存储在一个独立的文件中。
存储属性信息在一个独立的文件中将会提供以下好处:
这里没有硬性规定,但是一般情况下,属性文件都被命名为 build.properties, 并且与 build.xml 存放在同一目录层。 你可以基于部署环境 ——比如: build.properties.dev 和 build.properties.test 创建多个build.properties 文件。
在下面的例子中展示了 build.xml 文件和与之相联系的 build.properties文件:
<?xml version="1.0"?> <project name="Hello World Project" default="info"> <property file="build.properties"/> <target name="info"> <echo>Apache Ant version is ${ant.version} - You are at ${sitename} </echo> </target> </project>
# The Site Name
sitename=wiki.jikexueyuan.com
buildversion=3.3.2
注意到上面的练习中,sitename 是一个自定义属性,执行后映射到一个地址为 “wiki.jikexueyuan.com” 的网站上。你可以用这种方式声明任意数量的属性。在上面的例子中,还有一个自定义属性 buildversioin,它表明了当前构建的版本号。
除了以上提到的两个属性, Ant 还提供了其他内置属性,在前一章节中已经提到,但是下面我们再一次给出相关属性。
属性 | 描述 |
ant.file | 表示 buildfile 的绝对路径。 |
ant.version | 表示 Ant 的版本。 |
basedir | 表示 project 基目录的绝对路径。 |
ant.jave.version | 表示 Ant 检测到的 JDK 的版本。 |
ant.project.name | 表示当前指定的 project 的名字。 |
ant.project.default-target | 表示当前项目的默认目标。 |
ant.project.invoked-targets | 表示被当前项目调用的一系列用逗号分隔开的目标。 |
ant.core.lib | 表示 Ant jar 文件的绝对路径。 |
ant.home | 表示 Ant 安装的根目录。 |
ant.library.dir | 表示 Ant 函数库,一般情况下为 ANT_HOME/lib 文件的根目录。 |
在这一章节的例子中,我们用到的 Ant 内置属性是 ant.version 属性。