Eclipse OSGi bundle reqiure another bundle's f

2019-01-28 06:28发布

问题:

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?

回答1:

Use an Import-Package dependency on the fragment's exported packages.

In fact you should use Import-Package for all your dependencies, and avoid Require-Bundle wherever possible.



回答2:

In addition to adding the required package to Import-Package, you might need to add Eclipse-ExtensibleAPI: true to the manifest to prevent unresolved dependency error in PDE.