我对和属性有这种奇怪的行为,ant
我想知道你的想法。我不明白这个逻辑。这种行为可能很有用,但我想知道我是否可以依赖它或者这是否是一个错误。
如果没有所需名称的属性,则在扩展属性的右侧时,似乎 ant 正在应用前缀。这是SSCCE:
build.properties:
a=A
formula=${a}
构建.xml:
<project default="test">
<target name="test">
<property name="test.a" value="[test.a has been used instead of a, why? prefixValues is false]" />
<property file="build.properties" prefix="test" prefixValues="false" />
<echo>${test.formula}</echo>
</target>
</project>
输出:
test:
[echo] [test.a has been used instead of a, why? prefixValues is false]
BUILD SUCCESSFUL
Total time: 364 milliseconds
如您所见,test.formula 应该使用“a”而不是“test.a”,但从未定义过“a”。是这个原因吗?