私はプロパティでこの奇妙な振る舞いをしant
ています。あなたがどう思うか知りたいです。ロジックがわかりません。この動作は役立つ可能性がありますが、信頼できるかどうか、またはこれがバグであるかどうかを知りたいです。
目的の名前のプロパティがない場合、プロパティの右側を展開するときにantがプレフィックスを適用しているようです。SSCCEは次のとおりです。
build.properties:
a=A
formula=${a}
build.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は「test.a」ではなく「a」を使用する必要がありますが、「a」は定義されていません。それが理由ですか?