Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
1) Bundle A重新导出包com.X,它是从 bundle C 获得的
2) Bundle B 导出包 com.X
3)现在bunlde D同时依赖于A和B。
捆绑包 D 将从哪里获得包 com.X?
第一个问题是为什么您有 2 个捆绑包定义了同一个包 - 这称为拆分包,不建议这样做,因为您可能会遇到阴影问题。
运行时将Import-Package选择捆绑包 A 或 B 来解决包依赖关系,您无法直接控制它(您可以通过在导出上设置强制属性来执行各种技巧,例如 Eclipse 家伙所做的)。
Import-Package
Require-Bundle你最终会得到一个合并的包com.X,所以你会看到类型的超集,但我不确定如果你有重叠的类型会发生什么。
Require-Bundle
com.X
最简单的事情是首先避免拆分包。