我想用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>
答案 0 :(得分:0)
https://ant.apache.org/manual/Tasks/java.html
请参阅spawn
属性:
如果启用,则允许启动一个比ant更长的进程。 需要fork = true,并且与超时,输入,输出,错误,结果属性不兼容。
所以..
<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>
任务将启动一个运行java类的新java进程并立即返回,而不等待进程返回。