2013-05-09 92 views
2

那麼im進入構建OSGi應用程序while,但我真的找不到一些教程顯示了OSGi/Karaf構建桌面應用程序(使用任何語言)的方法。如何用Apache Karaf/OSGi構建桌面應用程序?

我想使用karaf,因爲它可以包裝Felix/Equinox。我發現的大部分教程都是關於Enteprise Application(WEB)的。那麼,是否有任何教程討論基於OSGi/Karaf構建桌面應用程序?

+0

我認爲桌面應用程序沒有什麼特別之處。我只是在我的包的激活器的啓動方法中創建了一個Swing窗口,就像我可以在我的主要方法中那樣做,並且它工作得很好。我在激活器的停止方法中銷燬了窗口。 – 2013-05-09 15:56:18

+0

嗨巴拉斯。這個問題啓發了我,我開始在卡拉夫與Swing玩耍(對於SWT純正的Equinox更自然)。然而至今沒有運氣。你能否粘貼你使用的代碼? – altanis 2013-05-09 20:39:51

+0

嗨巴拉茲! Thx對於你的評論...我也很有興趣看到你如何成功構建這樣的桌面應用程序! Thx – trouble 2013-05-09 22:44:47

回答

0

對不起主力右現在Karaf是用作服務器,雖然它仍然應該可以開始在上面的一些GUI的打算。由於您已經熟悉構建這樣的捆綁包,所以我相信您大概可以只使用小版本的Karaf並將其捆綁到其中。我不得不承認我以前從未這樣做過,所以我不太確定。

+0

嗨Achim!所以沒有其他方法或教程來展示如何使用OSGi構建桌面應用程序? – trouble 2013-05-09 22:45:21

+0

不是我的知識... – 2013-05-10 06:33:49

0

所有OSGI的首先是一個組件框架,它也利用了功能在Java中缺少自成立以來 - 運行時版本。如果你真的需要它(OSGI),它不依賴於你開發一個WEB或桌面應用程序。一般來說,我會建議你看看這個文檔: http://fusesource.com/docs/esb/4.2/deploy_osgi/Build-ModifyMaven.html 在這個鏈接,你會發現如何將現有的Maven項目捆綁轉換,進一步檢查的章節 - 有信息如何,部署在例如罐子Karaf(Karaf是OSGi容器)

希望,這有助於

1

下面是一個使用Apache karaf一個GUI應用程序項目的例子:

https://bitbucket.org/lorainelab/igb-fx

使用karaf運行GUI的基於桌面的應用程序減少開發時間開發人員對bundle進行更改,構建bundle,然後使用karaf shell命令將剛纔那個bundle重新加載到正在運行的應用程序中。不需要重新啓動整個應用程序來查看新代碼的效果。這就是爲什麼使用它。

我們使用OSGi,因爲我們要在代碼庫更加模塊化和,因爲我們要支持動態加載的「應用程序」通過誰寫的對我們的基因組瀏覽器API的第三方開發者開發的。