在 <java> Apach Ant 中使用 tag,我可以同时运行服务器和代理服务器类吗



我想同时启动服务器和代理服务器类,使用 Ant 标签,是否可以运行 wo 类?

这是我尝试过的代码,但 Ant 只启动服务器类,之后不做任何事情,不确定 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>

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

对于并行执行,您可以使用 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>

相关内容

最新更新