我的构建脚本中有这样的构造:
<for list="item1,item2,item3,item4" param="theparam">
<!-- some stuff to do -->
</for>
执行脚本时,我得到:
For任务中使用的无效类型类net.sf.antcontrib.logic.ForTask,它没有公共迭代器方法
我正在使用 ant-contrib 1.0b3。我在这里想念什么?
我的构建脚本中有这样的构造:
<for list="item1,item2,item3,item4" param="theparam">
<!-- some stuff to do -->
</for>
执行脚本时,我得到:
For任务中使用的无效类型类net.sf.antcontrib.logic.ForTask,它没有公共迭代器方法
我正在使用 ant-contrib 1.0b3。我在这里想念什么?
无法重现您的问题。您使用的是哪个版本的 ANT?
$ ant -version
Apache Ant(TM) version 1.9.0 compiled on March 5 2013
$ ant
Buildfile: /home/mark/build.xml
run:
[echo] param: one
[echo] param: two
[echo] param: three
[echo] param: four
BUILD SUCCESSFUL
Total time: 0 seconds
<project name="ant-contrib-tasks" default="run">
<taskdef resource="net/sf/antcontrib/antlib.xml"/>
<target name="bootstrap">
<mkdir dir="${user.home}/.ant/lib"/>
<get dest="${user.home}/.ant/lib/ant-contrib.jar" src="http://search.maven.org/remotecontent?filepath=ant-contrib/ant-contrib/1.0b3/ant-contrib-1.0b3.jar"/>
</target>
<target name="run">
<for param="theparam" list="one,two,three,four">
<sequential>
<echo message="param: @{theparam}"/>
</sequential>
</for>
</target>
</project>
笔记:
ant-contrib 1.0b3.jar
存在于{ANT_HOME}\lib
目录中build.xml
文件的顶部<taskdef resource="net/sf/antcontrib/antcontrib.properties"/>
<taskdef resource="net/sf/antcontrib/antlib.xml"/>