在调用方法PlatformUI.getWorkbench().restart()
后,应用程序只是关闭并拒绝重新启动产品。
答案 0 :(得分:6)
您的IApplication
需要使用PlatformUI.createAndRunWorkbench
方法检查start
的返回代码:
最简单的是:
int returnCode = PlatformUI.createAndRunWorkbench(display, advisor);
if (returnCode == PlatformUI.RETURN_RESTART)
return IApplication.EXIT_RESTART;
return IApplication.EXIT_OK;
最近的应用似乎使用了这个:
private static final String SYSTEM_PROPERTY_EXIT_CODE = "eclipse.exitcode";
int returnCode = PlatformUI.createAndRunWorkbench(display, advisor);
if (returnCode == PlatformUI.RETURN_RESTART)
{
// eclipse.exitcode system property may be set to re-launch
if (IApplication.EXIT_RELAUNCH.equals(Integer.getInteger(SYSTEM_PROPERTY_EXIT_CODE)))
return IApplication.EXIT_RELAUNCH;
return IApplication.EXIT_RESTART;
}
return IApplication.EXIT_OK;