如果要使用少数几个属性,则可以直接在构建文件中设置属性。但是,对于大型项目,将属性存储在单独的属性文件中是有意义的。

将属性存储在单独的文件中具有以下好处

  • 它允许您重复使用相同的构建文件,并为不同的执行环境使用不同的属性设置。例如,可以分别为DEV,TEST和PROD环境维护构建属性文件。

  • 当您不预先了解某个属性的值(在特定环境中)时,此选项很有用。这使您可以在已知属性值的其他环境中执行构建。

没有硬性规定,但通常将属性文件命名为build.properties,并将其放置在build.xml文件的旁边。您可以基于部署环境创建多个构建属性文件,例如build.properties.devbuild.properties.test

构建属性文件的内容类似于普通的java属性文件。它们每行包含一个属性。每个属性都由一个名称和一个值对表示。名称和值对之间用等号(=)分隔。强烈建议为属性添加适当的注释。注释使用井号(#)列出。

以下示例显示了一个build.xml文件及其关联的build.properties文件

build.xml

  1. <?xml version = "1.0"?>
  2. <project name = "Hello World Project" default = "info">
  3. <property file = "build.properties"/>
  4.  
  5. <target name = "info">
  6. <echo>Apache Ant version is ${ant.version} - You are at ${sitename} </echo>
  7. </target>
  8. </project>

build.properties

  1. # The Site Name
  2. sitename = www.tutorialspoint.com
  3. buildversion = 3.3.2

在上面的示例中,sitename是映射到网站名称的自定义属性。您可以以此方式声明任意数量的自定义属性。上面示例中列出的另一个自定义属性是buildversion,在本例中,它是指构建的版本。

除上述内容外,Ant还具有许多预定义的构建属性,这些属性在上一节中列出,但在下面再次表示。

Sr.No. 属性和说明
1

ant.file

构建文件的完整位置。

2

ant.version

Apache Ant安装的版本。

3

basedir

生成的baseir,在project元素的basedir属性中指定。

4

ant.java.version

Ant使用的JDK版本。

5

ant.project.name

项目的name,在project元素的element属性中指定。

6

ant.project.default-target

当前项目的默认目标。

7

ant.project.invoked-targets

以逗号分隔的当前项目中已调用目标的列表。

8

ant.core.lib

Ant jar文件的完整位置。

9

ant.home

Ant安装的主目录。

10

ant.library.dir

Ant库文件的主目录-通常是 ANT_HOME/lib 文件夹。

本章中提供的示例使用ant.version内置属性。