1

我想同时启动 Server 和 ProxyServer 类,使用 Ant 标签,是否可以运行 wo 类?

这是我尝试过的代码,但 Ant 只启动 Server 类,之后不做任何事情,不确定 ant 是否有实现这一点的方法。

感谢你的帮助。

<target name="pxyServer" depends="server">
    <echo>Executing Target - Run ProxyServer</echo>
    <java classname="pxy.ProxyServer">
        <classpath path="staging" />
    </java>
</target>

<target name="server">
    <echo>Executing Target - RunServer</echo>
    <java classname="pxy.Server">
        <classpath path="staging" />
    </java>
</target>
4

1 回答 1

2

您的目标是按顺序执行的,由于第一个目标一直在运行,第二个目标永远没有机会启动。

对于并行执行,可以使用 ant 的“并行”任务: http ://ant.apache.org/manual/Tasks/parallel.html

您修改后的脚本应该看起来像这样:

<target name="startServerAndProxy">
    <echo>Running server and proxy...</echo>
    <parallel>
        <java classname="pxy.Server">
            <classpath path="staging" />
        </java>
        <java classname="pxy.ProxyServer">
            <classpath path="staging" />
        </java>
    </parallel>
</target>

(当然,如果您尝试并行启动第三个应用程序,例如客户端,那么您还应该在“并行”中包含该应用程序。)

更新:

要在各自的控制台中启动服务器和代理,我不知道是否可以使用“java”Ant 任务完成,但我只是测试了它可以使用“exec”完成:

<target name="doit">
    <parallel>
        <exec executable="cmd" dir="staging">
            <arg line="/k start java.exe pxy.Server"/>
        </exec>
        <exec executable="cmd" dir="staging">
            <arg line="/k start java.exe pxy.ProxyServer"/>
        </exec>
    </parallel>
</target>
于 2013-09-12T05:01:09.933 回答