2010-09-12 76 views
7

我剛剛開始使用OSGi和Eclipse RCP。 在創建新的eclipse插件項目時,有人能向我解釋「Eclipse」和「Equinox」作爲目標平臺的區別嗎?
我仍然知道Equinox是Eclipse的OSGi的實現。
我讀過一些eclipse rcp也基於Equinox的文章。那麼您必須在新的Eclipse插件項目中選擇目標平臺之間的區別在哪裏?
Eclipse RCP:目標平臺 - Eclipse與Equinox?

問候

回答

4

這是關於environement中,您將創建將要運行的模塊:看到這個

的Eclipse Equinox是運行時環境Eclipse IDE和Eclipse RCP應用程序基於哪個版本
在Eclipse中,模塊化的最小單位是插件。術語插件和包是(幾乎)可互換的。一個Eclipse插件也是一個OSGi包,反之亦然。

alt text

  • 束爲OSGi中,能夠在春分框架(內或Eclipse之外)
  • 的Eclipse插件運行,基於Eclipse的應用程序中運行。

Equinox Quick Start Guide

春分OSGi框架實現形式的Eclipse RCP的和IDE平臺的基礎,但它實際上是一個完全獨立的OSGi實現。

您可以從Eclipse的獨立運行的捆綁產品:

java -jar org.eclipse.osgi_3.2.0.jar -console 

一旦運行,你會看到一個osgi>提示。這是OSGi控制檯等待你輸入命令

+0

都是捆綁類型兼容嗎? – 2010-09-12 15:59:39

+0

@ coding.mof:我剛剛完成了解決此問題的答案,但是Eclipse插件不需要在獨立的OSGi環境中運行,因爲某些特定於Eclipse的服務(將依賴於它)將會失蹤。 – VonC 2010-09-12 16:02:43

7

選擇「OSGi框架」: 這只是創建一個沒有必要的插件或導入包新包(除非你選擇的活化劑在這種情況下, org.osgi.framework包顯示在導入的包下)。

選擇Eclipse版本: 一下旁邊的嚮導給你勾選「這個插件將會爲UI的貢獻」之後,並允許您創建一個豐富的客戶端應用程序

沒有任何其他選項的Eclipse插件將org.eclipse.core.runtime作爲必需的插件。如果你說插件將對UI做出貢獻,那麼org.eclipse.ui就會被添加到所需的插件中。通過說你想創建一個富客戶端應用程序,模板在最終屏幕上是不同的,你不得不選擇一個來完成。如果你沒有選擇UI選項,並且你選擇了UI選項,那麼你的Activator會擴展Plugin。

對於以任一方式創建的軟件包沒有什麼不同,該向導只是爲您設置了一些默認的必需插件/導入軟件包。當然,正如VonC指出Eclipse路由設置的一些依賴關係可能與其他OSGi實現不兼容。