有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在发生错误后重新启动应用程序?

Possible Duplicate:
how to restart java application, remembering its command line arguments

您好,我正在用Java开发一个编辑器,我希望它能够在出现错误后重新启动整个应用程序

我使用Thread.setDefaultUncaughtExceptionHandler设置异常处理程序,并在那里显示一个消息框,这很简单。我需要的是以某种方式关闭应用程序,然后用相同的文件重新启动它

有什么想法吗


共 (4) 个答案

  1. # 1 楼答案

    你可以用它来做

    Runtime.getRuntime().exec("java -jar "location.of.your.jar");

    要获取jar位置,请执行以下操作:

    public static File getJarFile(Class main) {
        try {
            File f = new File(main.getProtectionDomain().getCodeSource().getLocation().toURI());
            return f;
        } catch (URISyntaxException ex) {
            return null;
        }
    }
    
  2. # 2 楼答案

    通过调用Runtime.exec("my_startup_command");启动应用程序 不要等待终止,不要读取Processoutput

  3. # 3 楼答案

    当我们想在清晨醒来时,我们会做什么?我们告诉家里的人叫醒我们,或者我们设置了闹钟。因此,同样的情况也适用于这种情况。从主应用程序中创建一个完全独立的应用程序,它将作为主应用程序的“调用者”。在Restart命令下,只需使用所有命令行参数启动invoker应用程序,然后退出主应用程序。然后在一段时间后(无论您设置什么时间),您的调用程序应用程序将启动您的主应用程序