蚂蚁执行不起作用

时间:2010-08-24 13:26:34

标签: ant

我有以下ant片段

 <macrodef name="webapp.start">
    <attribute name="name" />
    <sequential>
        <!--deploy-->
        <antcall target="webapp.@{name}" />
        <!--start server-->
        <antcall target="tomcat-server-start" />
        <!--go to URL-->
        <exec executable="firefox" os="Linux" >
            <arg line="-new-tab http://localhost:${tomcat.port}/@{name}" />
        </exec>
    </sequential>
</macrodef>

启动服务器但不打开浏览器。如果我将exec任务放在一个单独的目标中并运行它,它可以正常工作。我猜测启动服务器是一个没有结束的进程,下一个没有开始。怎么办我克服了这个问题?有没有办法让exec作为一个单独的过程启动。

1 个答案:

答案 0 :(得分:1)

  

我猜测启动服务器是一个没有结束的进程,下一个没有开始

我会花一分钟确保这种情况。使用pgrepps来确定您的流程最新动态。

如果你确认服务器永远不会完成,我会在后台启动命令“tomcat-server-start”(通过使用&amp;后缀shell命令),除非如果firefox在tomcat之前启动它是一个大问题服务器。或者,在顺序块中使用parallel块,如下所示:

<macrodef name="webapp.start">
    <attribute name="name" />
    <sequential>
        <!--deploy-->
        <antcall target="webapp.@{name}" />
        <parallel>
            <!--start server-->
            <antcall target="tomcat-server-start" />
            <!--go to URL-->
            <exec executable="firefox" os="Linux" >
                <arg line="-new-tab http://localhost:${tomcat.port}/@{name}" />
            </exec>
        </parallel>
    </sequential>
</macrodef>