gpt4 book ai didi

java - Ant foreach : Cause: The name is undefined. 但似乎一切正常

转载 作者:搜寻专家 更新时间:2023-11-01 01:13:30 24 4
gpt4 key购买 nike

我有一个关于 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>

附言对不起错误。看一个简单的。

最佳答案

“Cause: The name is undefined”表示任务没有安装在你的ant环境中。
<foreach>不是 Vanilla Ant 的任务,但需要 Ant 插件 antcontrib适用于 Ant 。
安装 antcontrib 后你应该使用 <taskdef resource="net/sf/antcontrib/antlib.xml"/>激活所有 antcontrib 任务。
GOTCHA => 不要使用 <taskdef resource="net/sf/antcontrib/antcontrib.properties"/>http://ant-contrib.sourceforge.net/ 所述因为 net/sf/antcontrib/antcontrib.properties 只包含 Ant 1.6.x 之前的 ant 版本的任务

关于java - Ant foreach : Cause: The name is undefined. 但似乎一切正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15344792/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com