没有 osgi 就绪依赖项

no osgi ready dependencies

目前我正在使用 osgi 和 karaf。

我的问题是没有 "osgi ready" 依赖项,这意味着一个 jar 还没有准备好作为一个包部署到 karaf 中。

为了解决这类问题,我尝试了两种解决方案:

我不确定我是不是做错了或者到底是什么问题。 关于如何处理没有 osgi 就绪依赖项的任何提示?

最简单的开始方法是使用 wrap: 协议自动创建一个 jar。在幕后,它使用 bnd 即时创建一个包。只需将 wrap: 添加到 jar 的 mvn url 。

当您尝试使用 bundle:install -s wrap:mvn 安装 jar 时:... karaf 会告诉您缺少哪些导入的包。安装以相同方式提供这些包的 jar。 jar 的 pom 可以提示您缺少什么。

如果您的初始 jar 有很多依赖项,这可能意味着要安装很多 jar。

获得可一起安装的 jar 列表后,您可以使用 wrap 协议创建功能,也可以在构建时从单个文件中打包。

无论如何你应该看看是servicemix bundles。它为许多库提供 OSGi 就绪包。