捆绑依赖解析

Bundle dependency resolution

我构建了两个 JBossFuse 项目,它们作为捆绑包部署在 osgi 容器中。 假设 bundle 为 A,B.Bundle A 依赖于称为 pdfbox 的依赖项,版本为 1.8.13,而 Bundle B 依赖于相同的依赖项,即版本 2.0.8.Both 的版本pdfbox 依赖项已经部署为 bundles.How 应该配置 bundle A 和 bundle B 的 pom 文件,使其仅使用各自的版本?

您必须查看导出的软件包版本。在 pdfbox 的情况下,包版本似乎与包版本匹配。

所以在这种情况下,您应该能够为您的包 A 和 B 使用 maven-bundle-plugin 的默认值。生成的导入应该使用 [1.8,2) 版本作为 1.8.13 依赖项和 [2.0,3) 对于 2.0.8 版本。所以这应该确保每个包只绑定到正确版本的 pdfbox。