0

1) Bundle A重新导出包com.X,它是从 bundle C 获得的


2) Bundle B 导出包 com.X


3)现在bunlde D同时依赖于A和B。


捆绑包 D 将从哪里获得包 com.X?

4

1 回答 1

1

第一个问题是为什么您有 2 个捆绑包定义了同一个包 - 这称为拆分包,不建议这样做,因为您可能会遇到阴影问题。

运行时将Import-Package选择捆绑包 A 或 B 来解决包依赖关系,您无法直接控制它(您可以通过在导出上设置强制属性来执行各种技巧,例如 Eclipse 家伙所做的)。

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

最简单的事情是首先避免拆分包。

于 2009-09-26T11:12:49.257 回答