OSGi在Eclipse中捆绑了依赖关系管理

时间:2012-05-19 19:25:39

标签: eclipse osgi eclipse-pde

我有一个OSGi包,它在Eclipse IDE中表示为Eclipse Plug-in Project。我发现满足此插件/包的依赖关系的唯一方法是

  • 1)通过File > Import... > Plug-ins and Fragments向导
  • 导入所有依赖项(.jar文件)
  • 2)然后在MANIFEST.MF
  • 中声明导入的依赖项

是的,这个解决方案有效,但另一方面,在我将更改提交到我们的存储库后,我的所有团队成员也必须手动将依赖项导入Eclipse以修复编译错误。

问题: 有没有需要这种刺激性步骤的解决方案?我只是想从存储库中提取更改并继续我的工作,而无需一次又一次地修复MANIFEST.MF中的依赖...

P.S。:为了检索依赖关系,我们使用Apache Ivy。

2 个答案:

答案 0 :(得分:4)

您需要在Eclipse中设置目标平台。我发现最简单的方法是将所有依赖项放在一个文件夹中,并将目标平台保存为.target文件,我将其检入源代码管理中。然后,我的同事需要做的唯一步骤是检索依赖项并配置Eclipse以使用共享目标定义。如果我们向定义中添加新的依赖项,Eclipse将自动通过重新启动或目标平台刷新来获取更改。

Eclipse文档可以帮助您入门:http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.pde.doc.user/concepts/target.htm

答案 1 :(得分:0)

如果您开发基于服务器的应用程序,那么让maven或Ivy管理依赖项并使用maven bundle插件生成Manifest要好得多。因此,您可以避免使用Eclipse OSGi模式和目标平台。有关如何使用maven开发OSGi包并在Apache Karaf上部署的教程,请参阅http://www.liquid-reality.de/x/DIBZ。对于常春藤,您可能需要使用稍微不同的构建,但基本应该是相同的。