可执行jar文件可以自行重启吗?例如,在用户做出一些选择后,该程序会显示“重启应用程序?”并且用户单击“是”,然后jar关闭并重新启动。
答案 0 :(得分:3)
需要重启应用程序是设计糟糕的迹象。
我肯定会努力“重新初始化”应用程序(重新读取配置文件,重新建立连接或什么),而不是强迫用户终止/启动应用程序(即使它是自动完成的)。
中途“黑客”将您的应用程序封装在一些类似于以下内容的运行程序类中:
public class Runner {
public static void main(String... args) {
while (true) {
try {
new YourApplication().run();
return;
} catch (RestartException re) {
}
}
}
}
答案 1 :(得分:2)
好吧,如果您知道文件系统上Jar文件的位置,您可以以编程方式运行Jar。然后退出当前运行的版本。
Runtime runtime = Runtime.getRuntime();
Process proc = runtime.exec("java -jar locatio/of/the/jar");
System.exit(0);