Reusable OSGi implementations I came across this architectural challenge, which is maintaining all shared business Java logic in a separate Common-Project that includes some common API in a bundle Common-Bundle and also a Common-Bundle-Impl that provides the shared implementation for that general API.The issue here is that sharing the implementation, therefore exporting the impl package, violates one of the OSGi best practises: you should never export implementation packages to consumers.I will try to explain it with an example, that might help understand my argument:As exposed above, say we have a Common-Project, which includes 2 bundles in its package:- Common-Bundle, with all the exposed API- Common-Bundle-Impl, which provides the implementation for this API that will be used by other bundles.In the other hand we have ProjectA and ProjectB, that need to consume this API and implementation.Both need to add some specific methods by extending the API classes, at the same time they want to be able to extend the exis