对于Apache Karaf的人来说,这是一些真正的noob(这是我对Karaf的第一次捆绑)问题。我正在部署一个使用了很多org.apache.commons。* bundle的bundle。当我部署我的捆绑包然后尝试启动它时,Karaf抛出了一个关于没有找到org.apache.commons.pools的错误。我做了一些谷歌搜索并运行以下内容:
osgi:install mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-pool
这安装了缺失的捆绑包,我点击了下一个捆绑包。虽然我知道OSGI容器中没有安装所需的软件包,但我有一些问题需要澄清。
希望问题足够清楚。我正在与卡拉夫取得进展,只需澄清这些要点。
答案 0 :(得分:11)
并非所有Java“jar”都与OSGi兼容,他们需要拥有OSGi bundle manifest。
当我需要从控制台添加依赖项时,我按照以下步骤操作:
尝试像这样安装:
安装mvn:[group-id] / [artifact-id] / [version]
如果它不是OSGi库,那么我在SpringSource搜索它。在这个存储库中,所有的包都是OSGi,但它们的版本已经过时是正常的。
关于功能,功能只是一组功能。请阅读this post了解更多详情。