Apache karaf如何从Maven repo轻松安装捆绑包

时间:2015-09-09 10:36:58

标签: osgi apache-karaf karaf

我正在尝试使用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之后,我仍然收到相同的错误消息。

谢谢!

2 个答案:

答案 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