我想在一个目标中更改Ant文件中的"variable",然后在另一个目标上查看该更改。
<variable name="foo" value="hello" />
<target name="print-me">
<echo message="${foo}" />
<antcall target="change-me" />
<echo message="${foo}" />
</target>
<target name="change-me">
<variable name="foo" value="world" />
</target>
当我想让它打印:"你好,世界"时,它会打印"你好,你好"
任意使用:
<target name="change-me">
<variable name="foo" unset="true"/>
<variable name="foo" value="world"/>
</target>
正如Oers在对您的问题的评论中已经提到的那样,或者使用更直接的方法来处理Ant addon Flaka的let task
:
<project xmlns:fl="antlib:it.haefelinger.flaka">
...
<!-- overwrite any existing property or userproperty
(those properties defined on the commandline via -Dfoo=bar ..) -->
<fl:let> foo ::= 'world'</fl:let>
...
</project>
如果使用ant contrib标记,这将起作用。