Ant var和属性范围

bob*_*wl2 7 ant

我有一个主要的构建脚本,调用各种目标.其中一个目标需要存储一个值,另一个目标需要显示它.显然这不起作用所以我认为它可能与范围有关.我尝试过var,property,并在target1之外声明属性.因为var似乎是可变的,所以看起来我需要使用它,但每次我的输出都是空的.

主要脚本

<antcall target="target1"/>
<antcall target="display"/>
Run Code Online (Sandbox Code Playgroud)

在target1中:

<var name="myVar" value="${anotherVar}"/>
Run Code Online (Sandbox Code Playgroud)

在显示中:

<echo>${myVar}</echo>
Run Code Online (Sandbox Code Playgroud)

小智 5

你真的需要使用 <antcall> 吗?您可以改用目标依赖项吗?

正如您所怀疑的那样,使用 <antcall> 本质上会创建一个新的作用域。


Rob*_*win 4

antcall 将在新项目中启动 ant 目标,并且不会以任何方式影响主项目。尝试使用 antcontrib 中的 runtarget 来运行同一项目中的目标。