我需要在关闭和启动应用程序之间做一些动作。
因此,我正在编写PlatformUI.getWorkbench()。close()以关闭应用程序,并且正在执行所需的操作。现在,我不知道如何重新启动工作台。
程式码片段:
PlatformUI.getWorkbench().close(); <- closing application
//Executing set of task ; <- trying to uninstall some plugins and features. While uninstalling application should not be opened so added above step.
PlatformUI.getWorkbench().restart(); <- again trying to open application but facing swt null pointer exception
最佳答案
如果您只想在关机前做一些事情,请使用:
org.eclipse.ui.application.WorkbenchAdvisor.preShutdown()
org.eclipse.ui.application.WorkbenchAdvisor.postShutdown()
在您的主要RCP插件中,应该有一个扩展
org.eclipse.ui.application.WorkbenchAdvisor
的类。public class MyApplicationWorkbenchAdvisor extends WorkbenchAdvisor {
@Override
public boolean preShutdown() {
// ... YOUR CODE
}
}
如果要手动重新启动工作台,可以使用:
PlatformUI.getWorkbench().restart()