我在build.xml文件中有这段代码片段。
<input message="Please enter environment:" addproperty="environment" defaultvalue="dev"/>
<target name="DeployComposites">
<echo>Deploying projects ${composite.list}</echo>
<foreach list="${composite.list}" param="compositeName" target="compile-and-deploy" inheritall="false"/>
</target>
输入会多次提示输入属性值。有没有办法让它只询问一次
答案 0 :(得分:1)
foreach
的工作方式为每次调用所需目标创建一个新的Ant Project
。由于您在顶层有input
,因此每次创建新Project
时都会调用它。
相反,将其放在另一个目标中,例如
<target name="get-env">
<input message="Please enter environment:" addproperty="environment" defaultvalue="dev"/>
</target>
<target name="DeployComposites" depends="get-env">
<echo>Deploying projects ${composite.list}</echo>
<foreach list="${composite.list}" param="compositeName" target="compile-and-deploy" inheritall="false"/>
</target>