如何从e4 RCP应用程序打开默认的p2安装向导?

时间:2016-06-09 08:04:50

标签: eclipse eclipse-rcp e4

如果点击了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安装向导?

提前谢谢。

2 个答案:

答案 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中所述吗?

我不确定这是否有效或期望兼容层,但值得一试。