我有一个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>
答案 0 :(得分:1)
可能您的应用程序是线程化的,并且具有主循环的概念。我认为更简单的方法是让您的应用程序接受额外的参数,例如--timeout=120s
,并使用此参数创建一个优雅地结束主循环的Timer
(我认为您将拥有某种控制变量,PID文件或任何东西)。然后Ant将传递这个额外的参数,所以一段时间后,该过程自行结束。
显然,如果未设置参数,则根本不会创建Timer
,您将使用常规方式告诉程序停止。