The \"OSGi way\" is to develop separate bundles containing discrete, coherent pieces of functionality. Sometimes these bundles contain utility classes, sometimes they depend on
If you use a resolver such as OBR or the new R5 resolver then using Import-Package
does not necessarily create a large maintenance overhead.
However, the Require-Bundle
way is also possible. An "application" typically consists of a small number (say, 1-5) "interesting" bundles. Then there are all the rest such as dependencies, SCR, Blueprint, etc. You could therefore create a single top-level Application bundle that uses Require-Bundle
to refer to the small set of interesting bundles, and then all other dependencies are specified with Import-Package
.