【发布时间】:2015-04-28 07:10:53
【问题描述】:
我知道,当 CQ 中的 bundle 状态为安装时,存在依赖关系,这就是 bundle 不能为“Active”的原因。
我在 CQ5 服务中使用 Jersey Client v 2.17,所以我需要 Jersey Core Client Jar。我在 /bundle/pom.xml 中添加了依赖项。我的包成功编译和部署但从未激活
我在 Felix 控制台中手动添加了 Jersey 客户端 Jar,通过这样做我的包被激活但 Jersey 客户端 Jar 未激活,所以我不断收到 ClassNotFoundError也是 Jersey Client Jar 中的传递依赖项。
我尝试了以下方法:
- 手动尝试通过在 Felix 控制台中添加 Jars 来解决依赖关系。 我失败了。循环永远不会结束(传递依赖)
- 我尝试通过更改 Jersey Core 客户端 Jar 的清单进行一些调整,我添加了
DynamicImport-Package: *。这欺骗了 OSGi 容器,在运行时它会找到罐子。这在过去对我有用,但现在它需要一些不存在的类。(Jersey Client 和 My Bundle 都变得活跃但我得到了 class NOT found 错误,因为类实际上 不存在 无论如何 我试图愚弄 OSgi 容器)失败。 - 所以尝试了另一件事,我在 /bundle/pom.xml 中添加了所有依赖的 Jar。当我使用 Maven 时,我认为这可以解决问题,但我的包仍然是 Installed 而不是 Active
我的第三步是惨败。无论如何,当您在 Felix 控制台中手动安装所有 Jars 时,Maven 对您有什么好处?!!
我该怎么办?
【问题讨论】: