Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

under construction

OSGi requires
that requires that if one bundle needs code in another bundle, the first needs to Import-Package the java package, and the second
need second needs to Export-Package in their MANIFEST.MF files. If some of these are missing, the program will fail somehow.
If  If we are lucky, we get a ClassNotFoundException or NoClassDefFoundException listing the class that is the
problemthe problem. But sometimes, like in Hiral's case, there is no direct error message. I tried "grep"ing all the
the "import ..." statements in the .java source files, but this did not find all the required imports.

I found: http://stackoverflow.com/questions/3609982/find-out-dependencies-for-a-any-jar-bundle

and one One of the tools mentioned was bnd, which we are already using. I tried this yesterday, but it did not find all the
required the required imports. I can try the other tools mentioned in the link. Other options are: - we

  • We can just live with the problem, if we have a problem, one of the first things we can look for is a

...

  • missing  Import-Package (or Export-Package).

...

  • We can just list every possible Export-Package in all of our bundles (this hasn't been the problem) and

...

  • list every possible Import-Package for all the Export-Packages in all the used bundles.

...

  • We can switch to Require-Bundle (another MANIFEST.MF header) instead of Import-Package in

...

  • some cases - but several web sites said the Import-Package is preferable to Require-Bundle.