Find the dependent bundles in Eclipse at runtime

后端 未结 3 1230
说谎
说谎 2021-01-13 04:14

How can an Eclipse bundle (eg. within activator code) find the dependent Bundle instances at runtime? I would like to find the bundles that Eclipse has choosen to satisfy th

相关标签:
3条回答
  • 2021-01-13 04:30

    You can open an OSGi console and issue the following commands:

    ss
    

    To the the list of bundles, including the numeric id

    bundle <id>
    

    to get more information, including dependencies.

    You should also try

    help
    

    to get more commands

    0 讨论(0)
  • 2021-01-13 04:36

    Please see my answer to this question. 4.3 will have a new bundle wiring API that will allow things like this.

    0 讨论(0)
  • 2021-01-13 04:46

    There is no easy way to determine the dependency. The best way is to go through the PackageAdmin interface. See the OSGi spec for PackageAdmin and getImportingBundles in particular: http://www.osgi.org/javadoc/r4v42/org/osgi/service/packageadmin/ExportedPackage.html#getImportingBundles()

    You need to determine for all installed bundles, which one exports one or more packages that your bundle is importing. The easiest way to achieve this is to call PackageAdmin.getExportedPackages(Bundle bundle) with bundles = null. This returns an array of all exported packages. You then need to iterate of this array and call ExportPackage.getImportingBundles().

    0 讨论(0)
提交回复
热议问题