【问题标题】:Bndtools and org.osgi.util.tracker packageBndtools 和 org.osgi.util.tracker 包
【发布时间】:2016-03-20 04:46:51
【问题描述】:

我在 Eclipse IDE 中使用 Bndtools。它很棒并且工作正常。 我可以将 osgi.core 包添加到编辑 bnd 文件的“构建路径”中(它使用 bndtools 存储库)。 现在我需要 org.osgi.util.tracker 包,但在编辑 bnd 文件的“构建路径”中找不到它。 我该怎么做?

谢谢, 保罗

【问题讨论】:

    标签: osgi osgi-bundle bndtools


    【解决方案1】:

    如果您使用 [OSGi enRoute][1] 那么您会发现您只需要针对基本 API JAR 进行编译(所有 enRoute 项目都是如此设置)。这让你的生活轻松多了。基本 API 包含用于最常见任务的所有 API(和唯一 API),从最简陋的“Hello World”到带有 Web 用户界面的 REST 服务器。

    [1]http://enroute.osgi.org

    【讨论】:

      【解决方案2】:

      org.osgi.util.tracker 是一个包,但在 Java 编译器中,我们需要将整个 JAR 放在构建类路径中。

      这个包恰好来自名为osgi.cmpn 的bundle/JAR,它代表了OSGi Compendium 规范。因此,只需将 osgi.cmpn 添加到 bnd.bnd 文件的 -buildpath 即可看到您想要的包。

      如果您不知道一个包来自什么 JAR/bundle,您可以使用 Bndtools 的 Repositories View 中的 Advanced Search 按钮。如果在那里找不到它,那么您将不得不从外部世界获取 JAR 并将其导入到您的存储库中。只需谷歌搜索包名称通常会告诉您所需库的名称。

      【讨论】:

      • 是的,我知道 org.osgi.util.tracket 不是 jar 而是一个包,但我不知道强大的高级搜索功能 ;-) 谢谢!
      • 实际上 org.osgi.util.tracker 现在进入了 osgi.core。
      • 好吧,“现在”我想你的意思是 R6。因此,一种选择是将osgi.core; version=6 添加到您的-buildpath。
      猜你喜欢
      • 2012-11-25
      • 2012-05-20
      • 2023-04-03
      • 2016-01-13
      • 2012-12-26
      • 1970-01-01
      • 2014-03-04
      • 2016-03-19
      • 2014-10-02
      相关资源
      最近更新 更多