如果点击了e4 RCP应用程序中的按钮,我试图打开默认的p2安装向导。
我在点击处理程序中调用ProvisioningUI.getDefaultUI().openInstallWizard
来打开向导。
点击此按钮会抛出:
java.lang.IllegalStateException: Workbench has not been created yet.
at org.eclipse.ui.PlatformUI.getWorkbench(PlatformUI.java:93)
at org.eclipse.equinox.internal.p2.ui.ProvUI.getDefaultParentShell(ProvUI.java:155)
...
堆栈跟踪显示,p2尝试调用PlatformUI.getWorkbench
,但据我所知,e4应用程序不支持这种情况,必须使用依赖注入。
如何从e4 RCP应用程序打开默认的p2安装向导?
提前谢谢。
答案 0 :(得分:1)
由于p2 UI依赖于Eclipse 3.x兼容模式代码,例如PlatformUI.getWorkbench
,因此无法在纯e4应用程序中使用。
您可以使用非UI p2操作,因为它们不需要兼容模式代码。
答案 1 :(得分:0)
查看帮助/安装新软件...菜单贡献,它似乎由命令org.eclipse.equinox.p2.ui.sdk.install
提供。您可以简单地将其添加到您的用户界面或trigger it programmatically,如Eclipse wiki中所述吗?
我不确定这是否有效或期望兼容层,但值得一试。