2011-07-21 122 views
6

我有一个需要传递给exec任务的可变数量参数的ant目标。使用旧的机制,实在是小巫见大巫:如何将可变数量的参数传递给ant exec

<exec command="cmd /c ${_full-path-to-exec}" osfamily="windows" failonerror="true"> 
</exec> 

然而,利用“命令”的支持嵌套元素已经过时了。像这样:

<exec executable="cmd" osfamily="windows" failonerror="true"> 
    <arg value="/c"/> 
    <arg file="${_full-path-to-exec}"/> 
    <arg value="${_param-one}"/> 
    <arg value="${_param-two}"/> 
    <arg value="${_param-three}"/> 
</exec> 

这使得变量参数列表变得不可能。

如何解决这个问题?

回答

13

如何:

<arg line="whatever args you need"/> 
+1

咕,咕,咕......哪里的地狱,是从哪里来的呢?我向上帝发誓,我已经多次查看该文档,并且从未看到过d * $&m属性。谢谢。 – Pat

+1

这实际上是exec ant页面上的第一个例子。不用担心,它发生在我们所有人身上:) –

+0

这一切都很好,但是有一些用例需要使用'arg'元素的'value'属性,因为'line'属性不会这样做。它们并不总是可以互换的。请参阅:http://stackoverflow.com/a/9562235/274677 –

相关问题