如何重新启动Java应用程序?如何重新启动Java AWT应用程序?我有一个按钮,我附加了一个事件处理程序。我应该使用什么代码来重启应用程序?我想做与Application.Restart()C#应用程序相同的事情。
3 回答

慕沐林林
TA贡献2016条经验 获得超9个赞
当然可以重新启动Java应用程序。
以下方法显示了重新启动Java应用程序的方法:
public void restartApplication(){ final String javaBin = System.getProperty("java.home") + File.separator + "bin" + File.separator + "java"; final File currentJar = new File(MyClassInTheJar.class.getProtectionDomain().getCodeSource().getLocation().toURI()); /* is it a jar file? */ if(!currentJar.getName().endsWith(".jar")) return; /* Build command: java -jar application.jar */ final ArrayList<String> command = new ArrayList<String>(); command.add(javaBin); command.add("-jar"); command.add(currentJar.getPath()); final ProcessBuilder builder = new ProcessBuilder(command); builder.start(); System.exit(0);}基本上它执行以下操作:
找到java可执行文件(我在这里使用了java二进制文件,但这取决于你的要求)
找到应用程序(在我的情况下,使用
MyClassInTheJar
类来查找jar位置本身的jar)构建一个命令来重启jar(在这种情况下使用java二进制文件)
执行吧!(从而终止当前的应用程序并重新启动它)
添加回答
举报
0/150
提交
取消