代码之家  ›  专栏  ›  技术社区  ›  Bruno Ranschaert

在运行时在Eclipse中查找依赖包

  •  5
  • Bruno Ranschaert  · 技术社区  · 15 年前

    Eclipse包(例如,在activator代码中)如何在运行时找到依赖包实例?我想找到Eclipse选择的包来满足依赖性需求,我不想自己解释清单。

    一个例子:我想在当前包所依赖的所有包中找到名为“marker.txt”的所有资源。还有传递依赖关系。为了实现这一点,我需要能够找到所有这些捆绑包开始。

    3 回复  |  直到 15 年前
        1
  •  4
  •   Andreas Kraft Vinod Joshi    15 年前

    没有简单的方法可以确定依赖关系。 最好的方法是通过PackageAdmin接口。具体请参见PackageAdmin和getImportingBundles的OSGi规范: http://www.osgi.org/javadoc/r4v42/org/osgi/service/packageadmin/ExportedPackage.html#getImportingBundles()

    您需要确定所有已安装的包,哪个包导出您的包正在导入的一个或多个包。最简单的方法就是 PackageAdmin.getExportedPackages(捆绑包) 带束= 无效的 . 这将返回所有导出包的数组。然后需要迭代这个数组并调用 ExportPackage.getImportingBundles() .

        2
  •  1
  •   Community Mohan Dere    9 年前

    请看我的回答 this question . 4.3将有一个新的捆绑连接API,允许这样的事情发生。

        3
  •  0
  •   ctron    15 年前

    您可以打开OSGi控制台并发出以下命令:

    ss
    

    到bundle列表,包括数字id

    bundle <id>
    

    以获取更多信息,包括依赖项。

    你也应该试试

    help
    

    获取更多命令