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

Java 在运行时在Eclipse中查找依赖包,java,eclipse-plugin,osgi,bundle,Java,Eclipse Plugin,Osgi,Bundle,Eclipse包(例如在activator代码中)如何在运行时找到依赖包实例?我希望找到Eclipse选择的包来满足依赖性要求,我不想自己解释清单 例如:我想在我当前的包所依赖的所有包中找到所有名为“marker.txt”的资源。还有可传递依赖项。为了实现这一点,我需要能够找到所有这些捆绑包作为开始。您可以打开OSGi控制台并发出以下命令: ss 到捆绑包列表,包括数字id bundle <id> 要获取更多命令,请参阅我对的回答。4.3将有一个新的捆绑布线API,它将允许这样的

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


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

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

ss
到捆绑包列表,包括数字id

bundle <id>

要获取更多命令,请参阅我对的回答。4.3将有一个新的捆绑布线API,它将允许这样的事情。

没有简单的方法来确定依赖关系。 最好的方法是通过PackageAdmin接口。具体请参见PackageAdmin和GetImportingBundle的OSGi规范:


您需要为所有已安装的捆绑包确定哪一个导出捆绑包正在导入的一个或多个包。实现这一点的最简单方法是使用bundles=null调用PackageAdmin.getExportedPackages(Bundle Bundle)。这将返回所有导出包的数组。然后,您需要迭代该数组并调用ExportPackage.getImportingBundles()。

他希望以编程方式执行此操作。
help