3
我对蚂蚁有一个奇怪的问题。它的版本是1.7.1。Ant foreach:原因:名称未定义。但一切似乎没有问题
我试图做下一件事,并得到错误。
<target name="execute-all-buildfiles">
<foreach param="buildfile-path" target="execute-buildfile">
<path>
<dirset dir="${path.to.server}/share/source"/>
</path>
</foreach>
</target>
<target name="execute-buildfile">
<echo message="" />
<echo message="" />
<echo message="" />
<echo message="__________ Building cartridge ${buildfile-path} ___________" />
<echo message="" />
<echo message="" />
<echo message="" />
<java
jvm="${path.to.server}/engine/jdk/bin/java"
classname="org.apache.tools.ant.launch.Launcher"
fork="true"
failonerror="true">
<classpath>
<pathelement location="${ant.home}/lib/ant-launcher.jar"/>
</classpath>
<arg value="-f" />
<arg value="${buildfile-path}/build/build.xml" />
<arg value="-Dis.home=${path.to.server}" />
</java>
</target>
我已经尝试了较不复杂的foreach版本,但它不工作。请帮帮我。
<target name="run">
<foreach target="loop" param="loop.param">
<path>
<dirset dir="${path.to.server}/share/source"/>
</path>
</foreach>
</target>
<target name="loop">
<echo message="${loop.param}"/>
<basename property="dir.name" file="${loop.param}"/>
<echo message="${dir.name}"/>
</target>
P.S.对错误抱歉。看看一个简单的。
丢失,不要使用
<taskdef resource="net/sf/antcontrib/antcontrib.properties"/>
上http://ant-contrib.sourceforge.net/提到“<”目标之前是一个错字发布问题? – 2013-03-11 17:28:27你可以发布“简单版本的foreach”作为准 - [SSCCE](http://www.sscce.org)吗? – wchargin 2013-03-11 17:32:57
另外,你不一定要有'list = a,b,c,d'属性或嵌套'fileset'吗?我只看到一个'dirset',也许它不喜欢那个。 – wchargin 2013-03-11 17:34:13