Ant路径式结构是不可变的属性吗?

时间:2017-11-21 02:39:08

标签: java ant

Ant手册很清楚properties are immutable一旦设置了属性值,后续的<property>元素就无法更改):

  

属性

     

描述

     

在项目中设置属性(按名称和值)或属性集(来自文件或资源)。属性区分大小写。

     

属性是不可变的:首先设置属性的人会将其冻结为其余的构建;他们绝对不是变数。

我试图了解<path><classpath>FLEX等同样如此。它没有在Ant手册中向我跳出来。

1 个答案:

答案 0 :(得分:1)

与属性不同,Ant中的路径类结构是可变的。每个后续更新都会更改以前的版本。

输入build.xml

<?xml version="1.0" encoding="utf-8"?>
<project name="AntPathTest" basedir=".">
    <property name="foo" value="bar"/>
    <property name="foo" value="baz"/>
    <path id="spam">
        <pathelement path="ham"/>
    </path>
    <path id="spam">
        <pathelement path="eggs"/>
    </path>
    <echo message="foo => ${foo}"/>
    <pathconvert property="spam" refid="spam"/>
    <echo message="spam => ${spam}"/>
</project>

$ ant

的输出
Buildfile: /path/to/AntPathTest/build.xml
     [echo] foo => bar
     [echo] spam => /path/to/AntPathTest/eggs