我正在为项目开发一个多平台GUI。 GUI需要具有使用按钮启动和停止其他.jar文件的功能。
GUI使用Java编码并编译为可执行的Jar文件。
例如。
按下JButton启动时,将启动文件project_release.jar。
当按下JButton停止时,project_release.jar文件终止并关闭。
如何实现这一点,以便适用于所有操作系统?
我看过流程构建器,运行时和其他东西,但我不确定它是否适用于多个操作系统。
感谢您的帮助。
答案 0 :(得分:0)
Runtime.getRuntime()。exec()或ProcessBuilder()应该都可以正常工作,尽管你需要知道你的平台上java可执行文件的位置。如果java可执行文件在PATH中,那么这将跨平台工作:
Process proc = Runtime.getRuntime().exec("java -jar project_release.jar");
要杀死它,您可以在程序之间使用套接字连接,并发送另一个应该终止的消息。如果出现问题而另一个程序忽略了该消息,您可以使用:
proc.destroy();
但它可能会在重要事件中断中断其他程序。