2012-02-10 25 views
0

我希望ANT在Windows机器上执行.cmd文件...但不应显示命令提示符。该过程应该在后台运行。 Ant应该发出命令并继续执行下一个命令。 我甚至尝试使用Windows“/ B”开关,但它没有工作。 有人有建议吗?ANT:在窗口上启动后台进程

回答

2

使用EXEC任务那样:

<exec executable="cmd" spawn="true"> 
    <arg value="/c"/> 
    <arg value="foobar.cmd"/> 
</exec> 

这应该是足够的,否则,如果您需要使用开始/ B ...:

<exec executable="cmd"> 
    <arg value="/c"/> 
    <arg value="start"/> 
    <arg value="/b"> 
    <arg value="foobar.cmd"/> 
</exec> 

详见ant manual exec task

+0

启动命令有一个“/ min”选项用于最小化运行命令(没有控制台来打扰用户)。请参阅http://www.computerhope.com/starthlp.htm – 2012-02-10 21:53:15

+0

使用第一个选项cmd得到执行,但在该控制之后,控制器不再执行ant build.xml文件中的其余命令。我在exec任务中启动应用程序服务器,所以我希望在后台启动服务器后,其余操作应该正常执行。 – ConfusedTester 2012-02-12 17:52:40

+0

当您从exec调用的cmd完成时,Ant应该再次获得控件。在你的taskmanager中查看exec任务打开的外部进程是否正确关闭。为了确保进程在任何情况下都被关闭,请使用 ..您的执行程序会在这里...请参阅http://ant.apache.org/manual/ Tasks/parallel.html 也尝试启动您的cmd独立版,以查看它是否可以从蚂蚁外部正常工作。 – Rebse 2012-02-13 09:29:42