蚂蚁运行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目标才完成。 接下来我可以尝试什么?     
已邀请:
您可以使用another9ѭ命令制作另一个批处理文件来启动服务器并立即返回:
start <path_to_server_bat> <args>
你试过
spawn=true
吗?     

要回复问题请先登录注册