9

所以这就是场景。我有

<target name="test">
  <property file="blah"></property>
  <exec dir="" executable="trast.exe" resolveexecutable="true" spawn="true">
  </exec>
</target>     

<!-- So now I have the second target that uses Return value from first target -->
<target name="test2">
  <property file="blah"></property>
  <exec dir="" executable=RETURN VALUE resolveexecutable="true" spawn="true">
  </exec>
</target>     

基本上我需要一种方法来在下一个目标中使用第一个目标的结果。我在网上查看,一种解决方案似乎是解析输出。但是有没有办法在不解析的情况下得到它?

谢谢

4

2 回答 2

13

exec 任务有一个outputproperty. 你能做这样的事情吗:

<target name="test">
  <exec dir="" executable="trast.exe" resolveexecutable="true" spawn="true" outputproperty="blah">
  </exec>
</target>     

<!-- So now I have the second target that uses Return value from first target -->
<target name="test2">
  <exec dir="" executable="${blah}" resolveexecutable="true" spawn="true">
  </exec>
</target>

自从我使用 Ant 已经有一段时间了,我没有在这台机器上安装它,但我似乎记得做过类似上面的事情。

或者也许使用resultproperty

在这里找到它:http: //ant.apache.org/manual/Tasks/exec.html

于 2009-07-01T18:44:09.657 回答
0

第一个可执行文件返回您稍后必须在 test2 中运行的可执行文件的名称,对吗?

因此,第一个可执行文件可以将该名称写入脚本文件(例如 Windows 上的批处理文件,Unix 上的 shell 文件)。该脚本将有一个固定的名称,而您的 Ant 脚本只会运行它。

于 2009-07-01T18:37:58.577 回答