在关闭Java应用程序时运行.bat文件

问题描述:

我想在关闭我的Java应用程序时运行.bat文件。在关闭Java应用程序时运行.bat文件

我尝试了,但是当我关闭Java应用程序时,bat文件没有启动。

+0

你究竟做了什么?你如何开始你的申请? – 2010-04-14 09:37:43

+0

我使用netbeans启动我的应用程序 – Gio 2010-04-14 09:40:07

我可以考虑两种选择。

  1. 从一个批处理文件或ant文件中启动Java应用程序,然后在完成后自动运行另一个。
  2. 当您的应用程序使用java代码关闭时拦截,然后启动一个从Java运行的批处理文件作为子流程。如果您不想让应用程序等待,您可能需要使用特定于Windows的方法在退出后继续运行它。

如果您的进程死亡,只有1个会起作用。你现在怎么做,它怎么会失败?没有这些信息,我们无法帮助你。

您可能想要查看关闭挂钩。基本上你可以注册一个未启动的线程,当退出进程启动时它将由JVM启动。

Runtime.getRuntime().addShutdownHook(thread) 

据商务部:

  • 程序正常退出,当最后一个非守护线程退出或:

    Java虚拟机响应两种事件关闭当调用退出(相当于System.exit)方法时,或者响应用户中断(例如键入^ C)或系统范围事件(如用户注销或系统关闭)而终止虚拟机时。

请通过此 http://java.sun.com/j2se/1.5.0/docs/api/java/lang/ProcessBuilder.html。使用Runtime.getRuntime()。addShutdownHook(线程)将其关联。

如果您的应用程序是一个扩展SingleFrameApplication的桌面应用程序,您可以覆盖其退出方法:public void exit(EventObject event)并添加代码以在其中启动您的文件。