Apache karaf 如何轻松地从 Maven 存储库安装捆绑包

问题描述 投票:0回答:2

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

谢谢!

osgi apache-karaf karaf
2个回答
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 来生成捆绑包。


4
投票

同意@Antonio,对于不是 OSGi 捆绑包的第三方库,您也可以尝试使用

wrap
:

安装它们
bundle:install -s wrap:mvn:commons-httpclient/commons-httpclient/3.1

这将为库创建一个基本的 OSGi MANIFEST...

您可以在这里找到更多信息: https://karaf.apache.org/manual/latest/#_dynamically_wrapping_jars

© www.soinside.com 2019 - 2024. All rights reserved.