Eclipse bundle(例如,在激活代码中)如何在运行时找到依赖的 Bundle 实例?我想找到 Eclipse 选择以满足依赖性要求的包,我不想自己解释 list 。
一个例子:我想在我当前的包所依赖的所有包中找到所有名为“marker.txt”的资源。还有传递依赖。为了实现这一点,我需要能够找到所有这些 bundle 。
最佳答案
没有简单的方法来确定依赖关系。 最好的方法是通过 PackageAdmin 界面。请特别参阅 PackageAdmin 和 getImportingBundles 的 OSGi 规范:http://www.osgi.org/javadoc/r4v42/org/osgi/service/packageadmin/ExportedPackage.html#getImportingBundles()
您需要为所有已安装的 bundle 确定哪个导出一个或多个您的 bundle 正在导入的包。实现此目的的最简单方法是使用 bundles = null 调用 PackageAdmin.getExportedPackages(Bundle bundle)。这将返回所有导出包的数组。然后您需要迭代此数组并调用 ExportPackage.getImportingBundles()。
关于java - 在运行时在 Eclipse 中查找依赖包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4153421/