3

好吧,我在一段时间内开始构建 OSGi 应用程序但我真的找不到一些教程来展示使用 OSGi/Karaf 构建桌面应用程序(任何语言)的方法。

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

4

3 回答 3

3

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

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

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

我们使用 OSGi 是因为我们希望代码库具有更大的模块化,并且因为我们希望支持由针对我们的基因组浏览器 API 编写的第 3 方开发人员开发的动态加载的“应用程序”。

于 2017-05-17T17:19:07.800 回答
0

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

希望这可以帮助

于 2013-05-23T16:06:05.387 回答
0

抱歉,现在 Karaf 的主要意图是用作服务器,尽管它仍然应该可以在上面启动一些 gui。由于您已经熟悉构建此类捆绑包,我相信您很可能只使用 Karaf 的次要版本并将您的捆绑包放入其中。我不得不承认我以前从未这样做过,所以我不太确定。

于 2013-05-09T15:56:05.463 回答