0

我想使用 ant 来运行一个类,然后是调试器(jdb)或者相反

无论我做什么,我都需要一个立即返回,因为另一个需要附加......

这是我目前正在处理的两个任务......(其中调试是目标运行)

<target
    name="run-debug-target"
    depends="compile" >
    <java
        fork="true"
        classname="uk.co.bedroomcoders.ple.desktop.DesktopLauncher"
        classpath="bin:libs/gdx-backend-lwjgl.jar:libs/gdx-backend-lwjgl-natives.jar:libs/gdx.jar:libs/gdx-natives.jar" >
        <jvmarg line="-agentlib:jdwp=transport=dt_socket,address=localhost:6000,server=y,suspend=y" />
    </java>
</target>

<target
    name="debug"
    depends="run-debug-target"
    description="debugs the project compiling if needed" >
    <exec spawn="true" executable="jdb">    
        <arg value="-listen" />
        <arg value="localhost:6000"/> 
    </exec>
</target> 
4

1 回答 1

0

https://ant.apache.org/manual/Tasks/java.html

spawn楼盘:

如果启用,则允许启动一个比 ant 寿命更长的进程。要求fork=true,不兼容timeout、input、output、error、result属性。

所以..

<java
    fork="true"
    spawn="true"
    classname="uk.co.bedroomcoders.ple.desktop.DesktopLauncher"
    classpath="bin:libs/gdx-backend-lwjgl.jar:libs/gdx-backend-lwjgl-natives.jar:libs/gdx.jar:libs/gdx-natives.jar" >
    <jvmarg line="-agentlib:jdwp=transport=dt_socket,address=localhost:6000,server=y,suspend=y" />
</java>

这样,<java>task就会启动一个新的java进程运行java类并立即返回,而不需要等待进程返回。

于 2014-06-30T08:52:03.383 回答