在 Ant Java 任务中使用带有 space 定界符的字符串按程序生成 <arg/> 标记

Procedurally generate <arg/> tags from string with space delimiter in Ant Java Task

如此有效,我想做的是,使用包含我的参数集的字符串(每个参数由 space 分隔),为每个参数生成一个 <arg/> 标记。如果 Ant 中的 Java 任务支持 <for> 标签,它看起来像

<java classname="some_classname">
    <classpath><path location="some_path"/></classpath>
    <for list="${args_string_variable}" delimiter=" " param="p">
        <sequential>
            <arg value="@{p}"/>
        </sequential>
    </for>
</java>

但是,您不能在 Ant 的 Java 任务中使用 <for> 标签,所以有谁知道这样做的好方法吗?我在其他任何地方都找不到这个问题,在谷歌搜索 2 小时后,我空手而归。提前致谢!

您可以在不循环的情况下做到这一点。为什么不使用带有 line 属性的 arg 元素,指定 "a space-delimited list of command-line arguments":

<java classname="some_classname">
    <classpath><path location="some_path"/></classpath>   
    <arg line="${args_string_variable}"/>
</java>

参见https://ant.apache.org/manual/using.html#arg