我一直在研究OSGi一段时间,我想知道处理“遗留”库的最佳方式(以普通JAR发布,而不是作为OSGi包发布)。
您认为处理这些问题的最佳方法是什么?修改他们的清单文件并添加最小的特定于bundle的信息,然后重新打包它们就是我现在所做的,但对我来说似乎有点不对劲。我是否应该对这些JAR使用手动依赖关系管理(对于那些很有可能仅在我的应用程序的某个部分使用的库来执行此操作)?
只要它们可用,我正在使用Eclipse的捆绑包(因为我使用Equinox作为OSGi平台,这对于那些作为捆绑包提供的库来说效果很好。)
除了我应该知道的Eclipse-bundle之外,是否还有任何bundle-repositories?
答案 0 :(得分:5)
使用Equinox作为底层平台,Spring正在大力推进OSGi。
http://www.springsource.org/dmserver
如果您进入OSGi开发阶段,Rob Harrop's blog值得关注。
回答你的问题,这是Spring的OSGi包存储库:
答案 1 :(得分:2)
还有Eclipse Orbit,它有许多预先打包的捆绑包供Eclipse使用。而不是直接修改bundle的清单,你可以创建一个自己提供Manifest的包装器包,并使用Bundle-ClassPath:foo.jar头包含Jar。以这种方式执行它的效率稍差,因为在运行时,foo.jar被提取出来(至少在Equinox上),但是使用它可能更容易管理构建过程。
Spring repo也是OSGi化的开源库的良好来源。