如何以编程方式重新启动Java程序?

时间:2014-03-11 16:39:36

标签: java application-restart

我有一个Java程序,我希望能够自动重启(例如,如果检测到致命错误,用户可以选择重新启动或退出)。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

您无法从JVM启动的真正致命错误中恢复。您可以从您自己的程序启动的异常中恢复,但我无法想象何时重新启动应用程序是一个很好的解决方案。优雅的恢复应包括以不同方式处理每个问题:您找不到文件?询问用户正确的路径。你无法连接到互联网?为用户提供第二次尝试选项,以防万一他忘了打开wifi ......依此类推。

说那是我的建议:你必须抓住错误,然后调用初始方法:

public class Example {
    ...

    public static void main(String[] args) {
        boolean exit=false;
        while(!exit) {
            try {
               runMyProgram(args);
            } catch (Exception e) {
               exit=askIfTerminateOrNot();
            }
        }
     }

    ... //Needed methods
}

但正如我之前所说,我不会实施这个解决方案。