OSGi 纲要 (R6) 注释 + Felix SCR 2.0.0 + Karaf 3.0.6

Posted

技术标签:

【中文标题】OSGi 纲要 (R6) 注释 + Felix SCR 2.0.0 + Karaf 3.0.6【英文标题】:OSGi Compendium (R6) Annotations + Felix SCR 2.0.0 + Karaf 3.0.6 【发布时间】:2018-04-27 09:38:47 【问题描述】:

我正在将代码从 Felix SCR 注释更改为 OSGi Compendium R6。

当我想启动我的 Karaf 容器时,我的包需要能力 osgi.extender 才能正确启动。 我可以看到这是由 org.apache.felix.scr >= 2.0.0 (https://mvnrepository.com/artifact/org.apache.felix/org.apache.felix.scr) 提供的

现在的问题: 我的 Karaf 容器中有 org.apache.felix.scr 的 1.8.4 版本(这是必须的,因为某些捆绑包对此版本有过滤器),当我尝试放置这两个版本时,我的容器永远不会出现。

如何调试这种行为?我可以从其他地方获得 osgi.extender 功能吗?

【问题讨论】:

【参考方案1】:

您是否尝试将您的 Karaf 更新到 4.1.x 版?

Here,可以看到这个版本的Karaf已经支持Felix SCR 2.0.6了。

【讨论】:

【参考方案2】:

只是一个建议:众所周知,Pax Runner 不适用于 Felix.scr >= 2.0.0 和 Karaf。

您应该测试将您的 pax 版本更新到 4.11.0

【讨论】:

以上是关于OSGi 纲要 (R6) 注释 + Felix SCR 2.0.0 + Karaf 3.0.6的主要内容,如果未能解决你的问题,请参考以下文章

通过 org.osgi.service.component 注解抽象组件

如何使用felix实现osgi

如何在 Scala 的 Felix 中运行 OSGi 蓝图?

OSGI 与 Apache Felix

OSGi 捆绑包未启动:缺少要求 osgi.wiring.package; > &(osgi.wiring.package=org.apache.felix.dm)

OSGi 容器 - Equinox 与 Apache Karaf 中的 Apache Felix