如何使用Apache Karaf / OSGi构建桌面应用程序?

时间:2013-05-09 13:25:53

标签: java osgi equinox apache-felix apache-karaf

我正在为while构建OSGi应用程序,但我无法找到一些教程,这些教程展示了使用OSGi / Karaf构建桌面应用程序(使用任何语言)的方法。

我想使用karaf,因为它可以包装Felix / Equinox。我发现的大多数教程都是关于企业应用程序(WEB)的。那么有没有任何教程,谈论基于OSGi / Karaf构建桌面应用程序?

3 个答案:

答案 0 :(得分:3)

以下是使用Apache karaf的GUI应用程序项目示例:

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

使用karaf运行基于gui的桌面应用程序可缩短开发时间。开发人员对包进行更改,构建包,然后使用karaf shell命令将该一个包重新加载到正在运行的应用程序中。无需重新启动整个应用程序即可查看新代码的效果。这就是使用它的原因。

我们正在使用OSGi,因为我们希望在代码库中有更大的模块性,因为我们希望支持动态加载的"应用程序"由反对我们的基因组浏览器API的第三方开发人员开发。

答案 1 :(得分:0)

对不起,现在主要打算将Karaf用作服务器,尽管仍然可以在顶部启动一些guis。由于您已经熟悉构建此类软件包,我相信您最有可能只使用次要版本的Karaf并将其捆绑在其中。我不得不承认我以前从未这样做过,所以我对此并不十分肯定。

答案 2 :(得分:0)

首先,OSGI是一个组件框架,它还利用了Java自成立以来缺少的功能 - 运行时版本控制。如果你真的需要它(OSGI),它不依赖于你开发WEB或桌面应用程序。一般来说,我建议你看一下这个文档: http://fusesource.com/docs/esb/4.2/deploy_osgi/Build-ModifyMaven.html 在该链接中,您将找到如何将现有Maven项目转换为捆绑包,查看更多章节 - 有关如何在例如Java中部署jar的信息。 Karaf(Karaf是一个OSGI容器)

希望,这有帮助