从Ant关闭Java程序?

时间:2012-09-15 20:33:10

标签: java ant

我有一个Ant任务,它构建一个可执行的JAR文件,运行一些JUnit测试,然后运行可执行的JAR文件以查看它是否正确构建。但是,问题是我必须在我的计算机旁边才能关闭我的Java程序。有没有办法在它运行几秒后将它从Ant关闭?

<target name="buildAndTest" depends="create-submission-jar">
    <!-- Other stuff happening here -->
    <java fork="true" jar="${jar.executable}" failonerror="true" />
</target>

1 个答案:

答案 0 :(得分:1)

可能您的应用程序是线程化的,并且具有主循环的概念。我认为更简单的方法是让您的应用程序接受额外的参数,例如--timeout=120s,并使用此参数创建一个优雅地结束主循环的Timer(我认为您将拥有某种控制变量,PID文件或任何东西)。然后Ant将传递这个额外的参数,所以一段时间后,该过程自行结束。

显然,如果未设置参数,则根本不会创建Timer,您将使用常规方式告诉程序停止。