直接在构建文件中设置属性是好的,如果你使用的是少数属性。然而,对于一个大型项目,是要存储在一个单独的属性文件中。
存储在一个单独的文件中的属性可以让你重复使用相同的编译文件,针对不同的执行环境不同的属性设置。例如,生成属性文件可以单独维持DEV,TEST和PROD环境。
指定在一个单独的文件属性是有用的,当你不知道一个属性(在一个特定的环境中)前面的值。这使您可以在属性值是已知的其他环境进行构建。
没有硬性规定,但一般属性文件名为build.properties文件,并放在沿一侧的build.xml文件。如build.properties.dev和build.properties.test - 你可以根据部署环境中创建多个生成属性文件
构建属性文件的内容类似于普通的Java属性文件。他们每行包含一个属性。每个属性由一个名称和一个值对来表示。名称和值对由等号分开。强烈建议属性标注了正确的注释。注释列出所使用的哈希字符。
下面显示了一个build.xml文件和相关build.properties文件
build.xml
<?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>
build.properties
# The Site Name sitename=www.yiibai.com buildversion=3.3.2
在上面的例子中,站点名是被映射到该站点的名称自定义属性,可以声明任意数目以这种方式自定义属性。在上面的例子中所列的另一个自定义属性是buildversion,其中,在这种情况下指的是创建的版本。
除上述者外,Ant附带了一些预定义的构建属性,它已被列入上一节中,但下面是代表一次。
属性 | 描述 |
---|---|
ant.file | The full location of the build file |
ant.version | The version of the Apache Ant installation |
basedir | The basedir of the build, as specified in the basedir attribute of theproject element. |
ant.java.version | The version of the JDK that is used by Ant. |
ant.project.name | The name of the project, as specified in the name atrribute of theproject element. |
ant.project.default-target | The default target of the current project |
ant.project.invoked-targets | Comma separated list of the targets that were invoked in the current project |
ant.core.lib | The full location of the ant jar file |
ant.home | The home directory of Ant installation |
ant.library.dir | The home directory for Ant library files - typically ANT_HOME/lib folder. |