小编Uda*_*gra的帖子

如何在 OSGI 包中嵌入外部 jars 依赖项?

我正在尝试将我的项目转换为 OSGI 应用程序。我几乎没有怀疑。假设我的应用程序中的 ModuleA 依赖于外部 jarA 和 jarB。现在为了让 ModeuleA 运行,我使用 maven-bundle-plugin 的 embed-dependency 属性嵌入了两个 jar。现在假设我有另一个模块 ModuleB,它也依赖于 jarA。所以这个模块也嵌入了jarA。我的项目最终将 jarA 嵌入了 2 次,这将不必要地膨胀项目的大小。

有什么方法可以告诉 OSGI 只加载一次 jarA 并将其提供给两个模块。

如果将这些 jars 转换为 OSGI 包是唯一的解决方案,我还有几个问题:

  1. 将 jar 转换为包的最简单方法是什么。BND 工具看起来是一个不错的解决方案,但我找不到有关它的正确文档。

  2. jarA 也会有一些依赖的 jars。那么我是否需要将所有依赖的 jar 也转换为包。我的项目有 100 多个罐子。我怎样才能自动化这个过程。

提前致谢 :)

osgi maven apache-felix

5
推荐指数
1
解决办法
2844
查看次数

标签 统计

apache-felix ×1

maven ×1

osgi ×1