PlatformUI.getWorkbench()抛出IllegalStateException:在处理程序中执行时尚未创建Workbench

时间:2017-11-08 07:19:35

标签: java eclipse-rcp illegalstateexception e4 workbench

我关注了这篇文章Get TreeViewer in RCP from another Plugin。当我将此代码添加到处理程序时,我得到了异常" java.lang.IllegalStateException: Workbench has not been created yet.":

@Execute
public void execute() {
    IWorkbench wb = PlatformUI.getWorkbench();
}

如果我在部件中执行此代码,则没有例外:

@PostConstruct
public void createComposite(Composite parent) {
    IWorkbench wb = PlatformUI.getWorkbench();
}

我不知道为什么。你能帮助我吗?谢谢!

1 个答案:

答案 0 :(得分:1)

在纯e4应用中,PlatformUI(以及IWorkbenchIWorkbenchWindowIWorkbenchPage)根本不可用。 Eclipse的各个地方描述的许多技术仅适用于3.x兼容模式RCP。

您的部分中的电话很可能也会抛出异常,但只会被记录(或完全丢弃)。

在e4应用程序中,您使用findPart的{​​{1}}方法查找其他部分。