1

我在玩 OSGi。据我了解,为了安装和启动一个包,你需要已经解决了它的依赖关系。由于手动安装其直接(和间接)依赖项可能很痛苦,因此引入了 OBR。

我使用 Felix 作为 OSGi 框架实现,我想通过 OBR(即 guava 库)自动解决我的包的依赖关系。出于这个原因,我org.apache.felix.bundlerepository在客户端上使用。

我不确定在服务器端做什么。我找不到有关该做什么的可靠信息。我确信可以在服务器上轻松配置 Felix 以用作“OBR 服务器”,但我不知道该怎么做。你能帮帮我吗?代码将不胜感激。如果您不能发布代码,至少可以告诉我成功设置存储库所需的一般步骤(或链接资源)(例如 felix 框架或其他实现此类功能的软件所需的包)。

我现在的设置:

  • 费利克斯;
  • 日蚀霓虹灯;
  • 日食的 Maven (1.7);

谢谢大家的回复!

4

3 回答 3

1

OBR 存储库的“服务器端”仅包含一个索引文件,该文件又包含指向捆绑包的 URL 链接。您无需任何特殊的服务器软件即可提供此功能。例如,Apache 或 Nginx HTTP 服务器就足够了。

于 2016-09-07T10:17:39.153 回答
1

Sonartype Nexus 2.13有一个 OBR 插件,它允许您提供与 OBR 兼容的存储库。它还可以用于代理现有的 Maven 存储库。

但是,在设置自己的存储库之前,您可能还想看看bndtools及其解决依赖关系的方法。Bndtools 还允许您依赖不明确支持 OBR 的现有 Maven 存储库。有一个关于如何使用 Maven 的指南,其中解释了他们的方法。

于 2016-09-07T07:14:15.677 回答
0

Karaf Cave提供了一个 OSGI Bundle Repository。

于 2016-09-07T07:45:16.613 回答