Ant属性

时间:2020-01-09 10:34:05  来源:igfitidea点击:

Ant属性是可以在Ant构建脚本中配置的关键值对。通常,我们将属性用于需要在Ant构建脚本中多次引用的值。例如,Java代码的源目录或者构建输出目录。

定义一个Ant属性

我们可以使用property元素定义一个Ant属性。这是一个Ant属性示例:

<project name="MyProject">
    <property name="dir.src" value="src"/>
</project>

注意project元素内的property元素。 " property"元素运行Ant属性任务,该任务设置一个可以在整个Ant构建脚本中引用的全局属性。

Ant属性元素的name属性包含该属性的名称。 value属性包含Ant属性的值。

我们还可以在property元素的主体内指定Ant属性的值。这是另一个显示该方法的Ant属性示例:

<property name="dir.src">src</property>

我们使用哪个版本取决于我们。

引用Ant属性

我们可以使用$ {propertyName}代码来引用Ant属性。代码的" propertyName"部分应该是我们要引用的Ant属性的名称。该Ant属性的值将插入在$$ ...代码的位置。这是一个Ant属性参考示例:

<project name="MyProject">
    <property name="dir.build" value="build"/>
    <property name="dir.build.classes" value="${dir.build}/classes"/>
</project>

此示例首先定义一个名为dir.build的属性,其值设置为build。假设build是此Ant构建脚本使用的根构建输出目录的名称。

其次,该示例定义一个名为dir.build.classes的属性,其值设置为$ {dir.build} / classes。当Ant定义此属性时,它将解析引用的属性dir.build的值,并将其值插入该属性为引用的位置。因此,定义的第二个Ant属性将其最终值设置为" build / classes",因为" build"是所引用的" dir.build"属性的值。

Ant属性是不可变的

一旦定义了Ant属性,就不能更改它(作为一般经验法则)。可以说,蚂蚁的属性是不可变的。

Ant属性是全局的

一旦定义了Ant属性,就可以在整个Ant构建脚本中对其进行访问。可以说,Ant属性是全局性的。

放置Ant属性的位置

在前面显示的示例中,属性是在project元素内部定义的,是project元素的直接子元素(在构建脚本的"顶层")。这使得可以为构建脚本中的所有目标定义Ant属性。

我们也可以将属性定义放在目标定义中。然后,仅在执行该目标时才定义属性。这是在Ant目标中放置Ant属性的示例:

<project name="MyProject">
    
  <target name="init">
    <property name="dir.build" value="build"/>
    <property name="dir.build.classes" value="${dir.build}/classes"/>
  </target>

</project>

这个例子首先定义了一个名为" init"的目标。在此目标内部定义了两个属性。只有执行了init目标,这些属性才被定义。即使在目标中定义,这些Ant属性在创建后将在构建脚本中全局可用。