...
- For jars that are intended to be usable by other projects, build them with the maven-bundle-plugin so they include OSGi metadata.
- Put APIs and implementation details in different packages. A common convention in the OSGi world is to use the ".impl" suffix on packages that contain implementation details.
- If possible, avoid using libraries that are known to be problematic in OSGi environments, or require third-party repackaging in order to work in OSGi environments. Well-known examples include:
- commons-logging (no longer a problem for Fedora: see FCREPO-630)
- jersey (see FCREPO-540)
...