我需要在关闭和开始申请之间做一些动作。
所以我正在编写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
答案 0 :(得分:1)
如果您只是想在关机前做一些事情,请使用:
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()