如何重新启动Java应用程序?

如何重新启动Java应用程序?

如何重新启动Java AWT应用程序?我有一个按钮,我附加了一个事件处理程序。我应该使用什么代码来重启应用程序?

我想做与Application.Restart()C#应用程序相同的事情。


慕容708150
浏览 2159回答 3
3回答

慕沐林林

当然可以重新启动Java应用程序。以下方法显示了重新启动Java应用程序的方法:public&nbsp;void&nbsp;restartApplication(){ &nbsp;&nbsp;final&nbsp;String&nbsp;javaBin&nbsp;=&nbsp;System.getProperty("java.home")&nbsp;+&nbsp;File.separator&nbsp;+&nbsp;"bin"&nbsp;+&nbsp;File.separator&nbsp;+&nbsp;"java"; &nbsp;&nbsp;final&nbsp;File&nbsp;currentJar&nbsp;=&nbsp;new&nbsp;File(MyClassInTheJar.class.getProtectionDomain().getCodeSource().getLocation().toURI()); &nbsp;&nbsp;/*&nbsp;is&nbsp;it&nbsp;a&nbsp;jar&nbsp;file?&nbsp;*/ &nbsp;&nbsp;if(!currentJar.getName().endsWith(".jar")) &nbsp;&nbsp;&nbsp;&nbsp;return; &nbsp;&nbsp;/*&nbsp;Build&nbsp;command:&nbsp;java&nbsp;-jar&nbsp;application.jar&nbsp;*/ &nbsp;&nbsp;final&nbsp;ArrayList<String>&nbsp;command&nbsp;=&nbsp;new&nbsp;ArrayList<String>(); &nbsp;&nbsp;command.add(javaBin); &nbsp;&nbsp;command.add("-jar"); &nbsp;&nbsp;command.add(currentJar.getPath()); &nbsp;&nbsp;final&nbsp;ProcessBuilder&nbsp;builder&nbsp;=&nbsp;new&nbsp;ProcessBuilder(command); &nbsp;&nbsp;builder.start(); &nbsp;&nbsp;System.exit(0);}基本上它执行以下操作:找到java可执行文件(我在这里使用了java二进制文件,但这取决于你的要求)找到应用程序(在我的情况下,使用MyClassInTheJar类来查找jar位置本身的jar)构建一个命令来重启jar(在这种情况下使用java二进制文件)执行吧!(从而终止当前的应用程序并重新启动它)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java