OSGi is a dynamic module system specification for the JVM. It has specifications with different versions and audiences. There are multiple implementations too:
Eclipse from its version 3 is based on OSGi. NetBeans is also capable to handle OSGi modules since 6.9. Liferay portal also started to use OSGi as its modularization foundation since its version 7.