我正在使用Ant 1.8.1.如果我在命令行上传递一个参数...
-DenableProperties=abc,def,ghi,jkl
Run Code Online (Sandbox Code Playgroud)
如何在Ant脚本中设置单个属性(为true/false)?
<property name="abc" value="???" />
<property name="def" value="???" />
Run Code Online (Sandbox Code Playgroud)
请注意,在上面的示例中,我希望Ant可以访问设置为true的属性"$ {abc}",而如果它尝试访问属性"$ {mno}",则该属性将为false,或者至少是一些非真实的价值.
谢谢, - 戴夫
sud*_*ode 13
想不出在核心Ant中这样做的方法.你可以使用ant-contrib 的For任务来完成它.
<project default="test">
<taskdef resource="net/sf/antcontrib/antlib.xml">
<classpath>
<pathelement location="C:/lib/ant-contrib/ant-contrib-1.0b3.jar"/>
</classpath>
</taskdef>
<target name="test">
<for list="${enableProperties}" param="prop">
<sequential>
<property name="@{prop}" value="true"/>
</sequential>
</for>
<for list="${enableProperties}" param="prop">
<sequential>
<echo message="@{prop}=${@{prop}}"/>
</sequential>
</for>
</target>
</project>
Run Code Online (Sandbox Code Playgroud)
输出:
$ ant -DenableProperties=abc,def,ghi,jkl
Buildfile: build.xml
test:
[echo] abc=true
[echo] def=true
[echo] ghi=true
[echo] jkl=true
BUILD SUCCESSFUL
Total time: 0 seconds
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11059 次 |
| 最近记录: |