蚂蚁运行bat文件并前进
|
我陷入了一个愚蠢的问题。问题是:
我需要启动专有的自制服务器。该服务器使用.bat文件启动(我在Windows操作系统上)。
我已经写了一个Ant目标:
<exec /> start-stupid-server.bat
<waitfor />
服务器端口。
因此,bat文件被执行,服务器侦听该端口。蚂蚁写BUILD SUCCESSFUL并且不退出。
Ant等待直到关闭服务器窗口。
我已经尝试了100,500种方法来克服它,但没有成功。
在Ant中,有没有办法将ѭ2蝙蝠文件忘却呢?
<exec spawn=\"true\" />
没有帮助,因为Ant关闭了服务器窗口,并且服务器关闭了。
我已经尝试了<exec />
:
start start-stupid-server.bat,
start /b start-stupid-server.bat
没有任何帮助:( Ant仍然会等到服务器窗口关闭。
这是我的目标:
<target name=\"start_proprietary_server\" depends=\"bootstrap\">
<echo message=\"going to stop MDM server instance... \"/>
<forget daemon=\"true\">
<exec executable=\"${app.custom.root}/bin/stopAll.bat\" dir=\"${app.custom.root}/bin\" />
</forget>
<waitfor
maxwait=\"20\" maxwaitunit=\"second\"
checkevery=\"1\" checkeveryunit=\"second\" timeoutproperty=\"mdm.stop.error\">
<and>
<not> <socket server=\"localhost\" port=\"12000\" /> </not>
<not> <socket server=\"localhost\" port=\"14444\" /> </not>
</and>
</waitfor>
<if>
<isset property=\"mdm.stop.error\" />
<then>
<echo message=\"There are some problems while stopping MDM server. See what\'s went wrong\" />
</then>
<else>
<echo message=\"MDM server successfully stoped.\" />
</else>
</if>
<echo message=\"going to start MDM server instance... \"/>
<!--
Starts but doesn\'t exit target
<exec executable=\"cmd\" dir=\"${app.custom.root}/bin\" >
<arg value=\"/c start startAll.bat\" />
</exec>
-->
<!--
<forget daemon=\"true\">
<exec executable=\"cmd\" dir=\"\" >
<arg value=\"/c startAll.bat\" />
</exec>
</forget>
-->
<forget daemon=\"true\">
<exec executable=\"${app.custom.root}/bin/startAll.bat\" dir=\"${app.custom.root}/bin\" />
</forget>
<echo message=\"Wating for localhost ports #12000 and #14444\"/>
<waitfor
maxwait=\"40\" maxwaitunit=\"second\"
checkevery=\"3\" checkeveryunit=\"second\" timeoutproperty=\"mdm.start.error\">
<and>
<socket server=\"localhost\" port=\"12000\" />
<socket server=\"localhost\" port=\"14444\" />
</and>
</waitfor>
<if>
<isset property=\"mdm.start.error\" />
<then>
<echo message=\"There are some problems while starting MDM server. See what\'s went wrong\" />
</then>
<else>
<echo message=\"MDM server has been started.\" />
</else>
</if>
</target>
这是蝙蝠文件:
call .\\bcmenv.bat
start /min .\\startLocator.bat
sleep 5
start /min .\\startServices.bat
exit
我尝试使用forget
标记,using9ѭ,start /b
和call
执行它,但是没有任何帮助。在关闭服务器窗口之前,Ant不会完成任务。
如果使用不带ѭ8的spawn,则Ant在退出目标时会关闭服务器窗口。它与spawn一起使用,并且忘记了,直到关闭服务器窗口,Ant目标才完成。
接下来我可以尝试什么?
没有找到相关结果
已邀请:
1 个回复
盟犯涩沟都
你试过
吗?