Ant 蚂蚁执行不工作

Ant 蚂蚁执行不工作,ant,Ant,我有以下ant代码片段 <macrodef name="webapp.start"> <attribute name="name" /> <sequential> <!--deploy--> <antcall target="webapp.@{name}" /> <!--start server--> <antcall target="t

我有以下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作为一个单独的进程启动

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

我会花一分钟来确定这是真的。使用
pgrep
ps
了解您的流程在做什么

如果您确认服务器从未完成,我将在后台启动命令“tomcat server start”(通过在shell命令后加上&),除非firefox在tomcat server之前启动有什么大不了的。或者,在顺序块中使用
并行
块,如下所示:

<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>

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

我会花一分钟来确定这是真的。使用
pgrep
ps
了解您的流程在做什么

如果您确认服务器从未完成,我将在后台启动命令“tomcat server start”(通过在shell命令后加上&),除非firefox在tomcat server之前启动有什么大不了的。或者,在顺序块中使用
并行
块,如下所示:

<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>


我的服务器必须在浏览器启动之前启动。所以我在parallel中添加了一个waitfor任务。谢谢你的帮助。我的服务器必须在浏览器启动之前启动。所以我在parallel中添加了一个waitfor任务。谢谢你的帮助。