【发布时间】:2016-03-20 04:46:51
【问题描述】:
我在 Eclipse IDE 中使用 Bndtools。它很棒并且工作正常。 我可以将 osgi.core 包添加到编辑 bnd 文件的“构建路径”中(它使用 bndtools 存储库)。 现在我需要 org.osgi.util.tracker 包,但在编辑 bnd 文件的“构建路径”中找不到它。 我该怎么做?
谢谢, 保罗
【问题讨论】:
标签: osgi osgi-bundle bndtools
我在 Eclipse IDE 中使用 Bndtools。它很棒并且工作正常。 我可以将 osgi.core 包添加到编辑 bnd 文件的“构建路径”中(它使用 bndtools 存储库)。 现在我需要 org.osgi.util.tracker 包,但在编辑 bnd 文件的“构建路径”中找不到它。 我该怎么做?
谢谢, 保罗
【问题讨论】:
标签: osgi osgi-bundle bndtools
如果您使用 [OSGi enRoute][1] 那么您会发现您只需要针对基本 API JAR 进行编译(所有 enRoute 项目都是如此设置)。这让你的生活轻松多了。基本 API 包含用于最常见任务的所有 API(和唯一 API),从最简陋的“Hello World”到带有 Web 用户界面的 REST 服务器。
【讨论】:
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 并将其导入到您的存储库中。只需谷歌搜索包名称通常会告诉您所需库的名称。
【讨论】:
osgi.core; version=6 添加到您的-buildpath。