我正在尝试使用Karaf并安装了一些捆绑X.这个捆绑包X抱怨缺少要求:Unresolved requirements ... osgi.wiring.package; (osgi.wiring.package=org.apache.commons.httpclient)]
因此,我尝试通过bundle:install mvn:commons-httpclient/commons-httpclient/3.1
提供org.apache.commons.httpclient。
但是,在尝试再次启动X之后,我仍然收到相同的错误消息。
谢谢!
答案 0 :(得分:7)
那个jar不是一个包,因此无法部署到karaf,它只是被忽略了。
尝试
karaf@root>bundle:install -s mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-httpclient/3.1_7
确保您的捆绑包在其META-INF / MANIFEST.MF中具有osgi导入声明语法。我假设您使用bndtools生成包。
答案 1 :(得分:4)
同意@Antonio,对于非OSGi包的第三方库,您也可以尝试使用wrap
安装它们:
bundle:install -s wrap:mvn:commons-httpclient/commons-httpclient/3.1
这将为库创建一个基本的OSGi MANIFEST ...
您可以在此处找到更多信息:http://karaf.apache.org/manual/latest/developers-guide/creating-bundles.html