【问题标题】:Strategy for finding OSGi bundles查找 OSGi 包的策略
【发布时间】:2013-03-13 20:18:30
【问题描述】:

在开发 OSGi 应用程序时,您寻找捆绑软件的策略是什么?

这就是我的做法,我认为这在某些方面有点麻烦。

当我需要参考时可以说:

GroupId: group.name

Artifact: artifact.name

我在 Eclipse 中启动添加 maven 依赖项并搜索它并将其添加到我的 pom 中,开始使用它,一切都很好,源代码明智。

但是当我将我的包部署到我的容器并安装 group.name/artifact.name/1.2.3 时,我有时会运气不好,并且引用的包不是一个包,而是一个简单的普通 jar。

这里是我开始搜索一组 group.name/artifact.name 的地方。下载 pom.xml 以查看构建中是否有 maven-bundle 插件。下载jar,看看manifest.mf中是否有export-packages等等。

对此有更好的策略吗?如何轻松找到 OSGi 捆绑包?

您的 OSGi 开发方式是什么?

【问题讨论】:

  • 在我看来,这是使用 OSGi 的主要问题之一。这与我这样做的方式完全相同,因为我不知道如何更好地做到这一点。
  • 您可以在运行时使用pax-wrap - 它使用 BND 在您安装时通过 URL 处理程序将普通 Jars 转换为捆绑包。一个非常简单优雅的解决方案。

标签: osgi bundle


【解决方案1】:

我创建了一个实验站点,其中包含所有 maven Central、ebr 等。您可以专门查找将 osgi:* 添加到查询中的捆绑包。

https://jpm4j.org/#/search?q=osgi:*

同样,这目前是实验性的,但我们非常感谢您的反馈。

【讨论】:

    【解决方案2】:

    试试这个网站:http://ebr.springsource.com/repository/app/

    它是“捆绑”库的存储库。有很多库,你可以确定一个库的传递依赖也是捆绑包

    【讨论】:

    • 不错,用了很多次。但有时它也让我失望:)
    【解决方案3】:

    好的,还有两个 :-) 一个总是值得一看的地方是 servicemix 项目,它有很多 osgi-fied 库。另一个是 ops4j pax Tipi 项目。这两个项目的巨大优势在于,您可以在 maven Central 中找到这些人工制品,因此无需将额外的存储库添加到您的项目中。

    【讨论】:

    • 我使用了很多 servicemix 包,它们很棒!
    猜你喜欢
    • 1970-01-01
    • 2013-03-23
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 2017-05-24
    • 2015-12-12
    • 1970-01-01
    • 2013-03-12
    相关资源
    最近更新 更多