2013-05-09 78 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的第三方开发者开发的。

相关问题