我正在玩OSGi。据我所知,为了安装和启动一个包,你需要已经解决了它的依赖关系。由于手动安装其直接(和间接)依赖关系可能会很痛苦,因此引入了OBR。
我使用Felix作为OSGi框架实现,我想通过OBR(即guava库)自动解析我的包的依赖关系。出于这个原因,我在客户端使用org.apache.felix.bundlerepository
。
我不确定在服务器端要做什么。我找不到关于该怎么做的可靠信息。我确信Felix可以很容易地在服务器上配置,以作为"OBR服务器",但我不知道如何做到这一点。你能帮我一下吗?代码将是高度赞赏。如果你不能发布代码,至少可以告诉我一般的步骤(或链接一个资源),我需要成功地设置存储库(像felix框架或其他软件实现这样的功能所需的捆绑包)。
我现在的设置:
- Felix; Eclipse霓虹灯;
- Maven for eclipse (1.7);
感谢所有的回复!
Sonartype Nexus 2.13有一个OBR插件,它允许您提供一个OBR兼容的存储库。它还可以用于代理现有的Maven存储库。
但是,在设置自己的存储库之前,您可能还想了解一下bndtools及其解析依赖项的方法。Bndtools还允许您依赖不显式支持OBR的现有Maven存储库。有一个关于如何使用Maven的指南,其中解释了他们的方法。
OBR存储库的"服务器端"仅由一个索引文件组成,该索引文件又包含指向包的URL链接。您可以在没有任何特殊服务器软件的情况下提供这些功能。例如,Apache或Nginx HTTP服务器就足够了。
Karaf Cave提供了一个OSGI Bundle Repository。