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

标签 java eclipse-plugin osgi bundle

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/

相关文章:

java - 在 OSGI 之前执行代码

java - 如何从quickfixj中的重复组中获取值(value)

java - 如何在 IntelliJ IDEA 中使用新的 Application Run 配置 UI 包含提供的依赖项?

java - libgdxcamera.position.set导致撕裂

android - 在导出 Android 应用程序向导中为 Android 应用程序生成 keystore ?

osgi - 哪个在 SCR 运行时被称为第一个激活函数或绑定(bind)函数

java - 非spring MyBatis示例工程

eclipse - 向 eclipse RCP 应用程序添加自动启动插件

java - 使用 Velocity 作为 OSGi 包时 ResourceManager 类不匹配

java - 如何读取 jar 文件,将其转换为字符串并从该字符串创建新的 jar 文件?