Equinox Bundle导入冲突

时间:2009-09-23 04:56:36

标签: osgi bundle equinox

1)捆绑一个重新出口包com.X,它从包C获得


2)Bundle B导出包com.X


3)现在bunlde D依赖于A和B.


捆绑包D从哪里获取来自?

的包com.X.

1 个答案:

答案 0 :(得分:1)

第一个问题是为什么你有2个包定义同一个包 - 这叫做拆分包,不推荐使用,因为你可能遇到阴影问题。

使用Import-Package运行时将选择捆绑包A或B来解析包依赖关系而您无法直接控制它(您可以通过在导出上设置强制属性来执行Eclipse人员所做的各种操作)

使用Require-Bundle,您最终会得到一个合并的com.X包,因此您会看到类型的超集,但我不确定如果您有重叠类型会发生什么。

最简单的方法是首先避免拆分包。