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

Java 发生错误后如何重新启动应用程序?,java,process,restart,uncaught-exception,Java,Process,Restart,Uncaught Exception,可能重复: 您好,我正在用Java开发一个编辑器,我希望它能够在出现错误后重新启动整个应用程序 我使用Thread.setDefaultUncaughtExceptionHandler设置异常处理程序,并在那里显示一个消息框,这很简单。我需要的是以某种方式关闭应用程序,然后用相同的文件重新启动它 有什么想法吗?通过调用Runtime.exec(“my_startup_命令”)启动应用程序 不要等待终止,不要读取Processoutput。这里有一个旧线程,可能具有相同的场景:您可以使用 Run

可能重复:

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

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


有什么想法吗?

通过调用
Runtime.exec(“my_startup_命令”)启动应用程序

不要等待终止,不要读取Processoutput。

这里有一个旧线程,可能具有相同的场景:

您可以使用

Runtime.getRuntime().exec(“java-jar”location.of.your.jar”)

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


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

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