Java “故障排除”;无法创建任务或foreach类型";使用<;foreach>;
我试图在Ant脚本中使用foreach循环,但得到的消息是:问题:未能创建任务或键入foreach原因:名称未定义 我不明白为什么这样不行。它不是第三方库。这是最新版本Ant(1.8)中的标准任务Java “故障排除”;无法创建任务或foreach类型";使用<;foreach>;,java,ant,Java,Ant,我试图在Ant脚本中使用foreach循环,但得到的消息是:问题:未能创建任务或键入foreach原因:名称未定义 我不明白为什么这样不行。它不是第三方库。这是最新版本Ant(1.8)中的标准任务 这是一项标准的任务 Ant最新版本的一部分 (1.8) 不,不是。至少我在列表中的核心任务和可选任务中找不到它。 它似乎是的一部分,因此需要单独安装。我在Ant 1.8手册中找不到foreach任务-它在哪里?我只知道ant contrib的任务,它需要指定“target”属性:我在eclipse
这是一项标准的任务
Ant最新版本的一部分
(1.8)
不,不是。至少我在列表中的核心任务和可选任务中找不到它。
它似乎是的一部分,因此需要单独安装。我在Ant 1.8手册中找不到foreach任务-它在哪里?我只知道ant contrib的任务,它需要指定“target”属性:我在eclipse下遇到了不同版本的ant的相同问题 在eclipse下不添加参数的情况下将其添加到代码中(不要指定任何类路径):
您是否考虑过
?在这个标签中,您可以使用一些著名的脚本语言,如javascript和python。他们还可以与项目、任务。。。对象,这意味着您可以设置/获取属性,甚至可以执行其他任务。看看这个来自《用ant开发java》一书的例子
使用脚本任务生成一个随机数,然后
打印出来
随机数为${Random}
您尚未定义要调用的目标:
<foreach param="instance" list="a,b,c,d,e" target="processListItem" />
或者:
<for param="instance" list="a,b,c,d,e" >
<sequential>
<!-- Do Something with @{instance} -->
</sequential>
</for>
当我说各种版本:ie 1.6和1.7…^但首先作为第三方尝试一下。升级到1.9[从1.7]似乎可以解决这个问题[在这种情况下,必须将ANT_HOME设置为我的ANT 1.9 dir,然后它才能工作]
<project name="script_example" default="test-random">
<description>
Use a script task to generate a random number, then
print it
</description>
<target name="random">
<script language="javascript"><![CDATA[
//NB: an unqualified Math is the JavaScript object
var r=java.lang.Math.random();
var num = Math.round(r*10);
project.setNewProperty("random", num);
self.log("Generated random number " + num, project.MSG_DEBUG);
]]>
</script>
</target>
<target name="test-random" depends="random">
<echo>Random number is ${random}</echo>
</target>
</project>
<foreach param="instance" list="a,b,c,d,e" target="processListItem" />
<for param="instance" list="a,b,c,d,e" >
<sequential>
<!-- Do Something with @{instance} -->
</sequential>
</for>