我有一个OSGi包,它在Eclipse IDE中表示为Eclipse Plug-in Project。我发现满足此插件/包的依赖关系的唯一方法是
File > Import... > Plug-ins and Fragments
向导MANIFEST.MF
是的,这个解决方案有效,但另一方面,在我将更改提交到我们的存储库后,我的所有团队成员也必须手动将依赖项导入Eclipse以修复编译错误。
问题:
有没有需要这种刺激性步骤的解决方案?我只是想从存储库中提取更改并继续我的工作,而无需一次又一次地修复MANIFEST.MF
中的依赖...
P.S。:为了检索依赖关系,我们使用Apache Ivy。
答案 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。对于常春藤,您可能需要使用稍微不同的构建,但基本应该是相同的。