3

可执行的jar文件可以自行重启吗?例如,在用户做出选择后,程序会提示“重新启动应用程序?” 并且用户单击“是”,然后 jar 关闭并重新启动。

4

2 回答 2

3

需要重新启动应用程序是糟糕设计的标志。

我肯定会努力能够“重新初始化”应用程序(重新读取配置文件,重新建立连接或其他),而不是强迫用户终止/启动应用程序(即使它是自动完成的)。

中途“破解”是将您的应用程序封装在一些实现类似的运行器类中:

public class Runner {
    public static void main(String... args) {
        while (true) {
            try {
                new YourApplication().run();
                return;
            } catch (RestartException re) {
            }
        }
    }
}
于 2010-06-10T14:07:31.070 回答
2

好吧,如果您知道 Jar 文件在文件系统上的位置,您可以通过编程方式运行 Jar。然后退出当前运行的版本。

Runtime runtime = Runtime.getRuntime();
Process proc = runtime.exec("java -jar locatio/of/the/jar");
System.exit(0);
于 2010-06-10T14:05:14.603 回答