【发布时间】:2013-03-11 17:27:20
【问题描述】:
我对 ant 有一个奇怪的问题。它的版本是 1.7.1。
我正在尝试做下一件事并得到错误。
<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>
附:对错误感到抱歉。看一个简单的。
【问题讨论】:
-
在发布问题时,目标前缺少“
-
您能否将“不太复杂的 foreach 版本”发布为 quasi-SSCCE?
-
另外,您不是必须拥有
list=a,b,c,d属性或嵌套fileset吗?我只看到一个dirset,也许它不喜欢那样。 -
我在另一台机器上试过,第二个目标运行成功。是什么原因造成的,我的大脑已经很痛了