2016-06-09 106 views
0

我試圖打開默認的p2安裝嚮導,如果我的e4 RCP應用程序中的按鈕被點擊。如何從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安裝嚮導?

預先感謝您。

回答

1

由於p2 UI依賴於Eclipse 3.x兼容性模式代碼,如PlatformUI.getWorkbench,因此它不能用於純粹的e4應用程序。

您可以使用非UI p2操作,因爲它們不需要兼容模式代碼。

+0

謝謝,但在這種情況下如何使用這種兼容模式?我發現至少有四個關於這個主題的不同教程,其中包含完全不同的方法。 – wtfzn

+1

如果你想使用兼容模式代碼,你可以編寫一個傳統的3.x風格的RCP而不是e4 RCP。有些人聲稱有一個「混合」應用程序的工作,但它是棘手的,我不能建議。 –

+0

因此,不可能編寫我的e4樣式應用程序,並在此插件中包含3.x插件(如... p2.ui)? – wtfzn

0

查看幫助/安裝新軟件...菜單的貢獻,它似乎由命令org.eclipse.equinox.p2.ui.sdk.install提供。您可以簡單地將它添加到您的用戶界面或trigger it programmatically,如Eclipse維基中所述?

我不確定這是否工作或期望兼容性層,但它是值得一試。

相關問題