2013-03-15 71 views
-1

我應該使用目標平臺OSGi創建一個eclipse插件還是不使用它?Eclipse與OSGi框架?

從Eclipse幫助

「如果你不打算使用Eclipse擴展註冊表,那麼你應該使用OSGi框架的選擇。如果選擇OSGi框架選項,你不會在依賴關係結束此外,PDE會將可用模板和爲您生成的代碼限制在OSGi層。「

我選擇OSGi時不能做什麼?爲什麼我選擇OSGi時,它的插件功能較弱?

回答

3

該設置僅調整即將創建的插件的依賴關係。您可以創建一個簡單的捆綁包並向eclipse基礎設施包添加依賴關係 - 您是否可以手動管理版本化的依賴關係?

此外,根據此設置,嚮導將根據所選eclipse版本的模板創建項目腳手架; F.E.幫助,首選項,用戶界面貢獻以及您已安裝的具有適用的註冊模板的任何其他內容。從本質上講,如果你的插件只能在eclipse中使用,你不需要考慮它,只需設置所需的Eclipse版本即可。如果你的插件也可以在其他OSGi框架中使用,那麼只有這樣才能做出任何必要的決定。

+0

爲什麼我的插件可以在其他OSGi框架中使用? Eclipse插件必須依賴於Eclipse API,所以如果沒有它,它應該是無用的。 – IAdapter 2013-03-15 21:37:23

+1

Eclipse插件開發環境(Eclipse Plugin Development Environment,PDE)也恰好是爲Eclipse之外的其他環境開發OSGi bundle的最佳工具之一。整個過程中有很多「插件」術語,但這只是出於歷史原因。爲其他環境開發的OSGi包顯然不會引用Eclipse API。它會引用來自該環境的捆綁包。 – 2013-03-15 22:11:15

+0

ehhh ...最近看了bndtools? – 2013-03-19 20:16:47

1

我們處理幾乎所有情況的簡單經驗法則是,如果它不提供任何UI功能,那麼它是一個OSGI包。在這種情況下,沒有使用SWT特定的庫和框架。

你問「當我選擇OSGi的時候我不能做什麼?爲什麼我選擇OSGi的時候插件不夠強大?」,所以我會問「你正在編寫一個插件還是一個OSGi包?」?

他們不是一回事。插件是一個包,其上添加了UI擴展。這不是一個問題(OSGi項目)不那麼強大,它只是不提供編寫UI所需的額外功能,因爲這不是OSGi的一部分。所以,如果你正在編寫一個純粹的OSGi包,那麼創建一個OSGi項目,而不需要額外的依賴和工件。如果你正在編寫一個UI,那麼它應該是一個插件項目。