This might be simple question but have confused me for sometime.
I'm developing an OSGi bundle which rely on google guice. Google guice has one main bundle and several fragment like assisted inject fragment. In my bundle I have used the assisted inject fragment and a class that is exported from that fragment.
However in Eclipse, I can only set bundle dependency on another bundel (in this case, the guice bundle) but not directly on a fragment (assisted inject), hence Eclipse complains cannot find the class exported from the fragment.
How can I have the dependency on a bundle's fragment?
Use an
Import-Package
dependency on the fragment's exported packages.In fact you should use
Import-Package
for all your dependencies, and avoidRequire-Bundle
wherever possible.In addition to adding the required package to
Import-Package
, you might need to addEclipse-ExtensibleAPI: true
to the manifest to prevent unresolved dependency error in PDE.