我有一个关于 OSGI Bundles 和“普通”maven jar 依赖项的问题。
以下场景:
一个多模块maven项目:A
使用模块 AX、AM:
AX 是一个 OSGI 包
AM 是启动 OSGI 框架并加载捆绑包 AX 的普通 java 应用程序
在项目顶级 pom (A.pom) 中,我定义了对 commons-logging-1.1.1 的依赖关系,然后我在我的 OSGI Bundle AX 中使用 commons-logging maven-bundle-plugin 使用导入条目生成 AX 清单'commons-logging' 发生的地方。
当我启动 AM 并在控制台上打印出所有加载的 jars(使用 getSystemClassLoader...)时,会列出 ../../../commons-logging-1.1.1.jar。因为来自顶级 pom 的 maven 依赖。
现在我尝试安装我的 OSGI 捆绑包 AX 并获得“捆绑包中未解决的约束.....commons-logging”异常。
为什么在安装捆绑包时不能使用已经在内存中(在 AM 中)的 commons-logging 库来解决 commons-logging 依赖项(来自 AX)?
我很感激任何帮助!!!!