2010-08-08 61 views
1

我將我的Java SE(右鍵單擊項目配置 - >轉換爲插件項目)更改爲插件,但是當我嘗試運行它時 - 它作爲Eclipse應用程序運行,如何啓動它作爲OSGi? 謝謝!啓動插件爲OSGi

回答

2

將JavaSE應用程序轉換爲單一的大包,基本上意味着您以不同的方式啓動您的代碼。您現在實現了具有start()和stop()方法(每個都有一個BundleContext作爲參數)的BundleActivator接口,而不是public static void main(String [] args)。

啓動這取決於你選擇的框架實現。由於OSGi 4.2有一個啓動API(規範的第6.2段),它指定了一個啓動框架並運行你的單個bundle的通用機制。如果您使用較舊的實現,啓動是特定於框架的,我只能將您引用到該框架的文檔中。

+0

你會推薦符合OSGi 4.2的實現嗎? – 2010-08-08 11:10:50

+0

如果我將通過BundleActivator的方法開始運行我的應用程序,它如何與fraemwork中的bundle進行交互? – 2010-08-08 14:51:50

+0

@Thorbjørn:是的,我會推薦使用該規範的最新版本。 @EK:從技術上講,你啓動框架,它將調用你指定實現BundleActivator的類的start方法。作爲參數傳遞給start(和stop)方法的BundleContext是您與框架的接口。它允許您與服務註冊表進行交互等等。服務是捆綁交互的主要機制。您可以通過BundleContext發佈和查找服務。欲瞭解更多信息,我會推薦給OSGi的介紹。 – 2010-08-08 22:06:02