我有两个捆绑包,其中一个捆绑包是两个片段的主机捆绑包,以及这个捆绑包/片段之间的以下依赖关系。
在eclipse中(我使用氧气但在neon3上使用相同的错误),从A到B1.b1package的导入无法解析。我读到使用行Eclipse-ExtensibleAPI: true
(Eclipse Help Page)通过告诉PDE允许片段导出其他包来解决这个问题(在运行时,片段总是允许这样做,设置只是一个信息PDE)
但是在使用这个设置之后,eclipse抱怨我的dependecies中的一个循环在运行时不存在,因为片段B2依赖于bundle A ......
处理此类问题的正确方法是什么?
答案 0 :(得分:1)
处理此类问题的正确方法是什么?
从OSGi的角度来看,正确的做法是将API类型完全分离(理想情况下分成单独的bundle)并使用OSGi服务注册表进行相互通信。这可以确保您在包依赖关系图中没有周期,并且允许您在知道API未更改的情况下轻松发布更新。 Declarative Services提供了一个简单的,基于注释的注入模型,PDE可以为您处理。
模型:
可能对您有用。