我正在做一个OSGi项目(我对它还很陌生(。这是一个现有的源代码,所以我添加了一个名为";io.openmsedge.diselgenerator";,当我进行解析过程时,我发现它失败了,并显示以下消息:
Resolution failed. Capabilities satisfying the following requirements could not be found:
[<<INITIAL>>]
⇒ osgi.identity: (osgi.identity=io.openems.edge.dieselgenerator)
⇒ [io.openems.edge.dieselgenerator version=1.0.0.202107141719]
⇒ osgi.wiring.package: (osgi.wiring.package=io.openems.edge.simulator)
[osgi.cmpn version=7.0.0.201802012110]
⇒ osgi.unresolvable: (&(must.not.resolve=*)(!(must.not.resolve=*)))
[ch.qos.logback.classic version=1.2.3]
⇒ osgi.wiring.package: (&(osgi.wiring.package=ch.qos.logback.core.util)(version>=1.2.0)(!(version>=2.0.0)))
[org.eclipse.jetty.alpn.server version=9.4.35.v20201120]
⇒ osgi.wiring.package: (&(osgi.wiring.package=org.eclipse.jetty.alpn)(version>=1.1.3))
我发现osgi.wiring.package有问题:(osgi.wireing.package=io.openems.edge.simulator(.io.openems.edge.simulator是我作为依赖项添加到新捆绑包中的现有捆绑包。知道发生了什么吗?还是我应该提供更多我不知道的信息?
谢谢
消息告诉您的是,OSGi容器中安装的捆绑包都没有提供/导出您的捆绑包或其依赖项所需的包。
这可能是因为您缺少提供org.eclipse.jjetty.alpn包的捆绑包,或者您试图在其依赖项可用之前安装您的捆绑包。
或者我应该提供更多我不知道的信息吗?
如果其他人知道你的项目是如何设置的,以及你在哪里运行OSGi捆绑包,比如ApacheKaraf、EclipseIDE或其他地方,他们会帮助你。