The core strength of OSGi for this scenario is in my opinion the encapsalation and protection of your inner classes. With OSGi bundles you decide which packages of your project are exported and therefore visible to other projects (via the tab Runtime in the editor for the file plugin.xml).
This leaves only one problem: If you are using externally libraries you have to convert them into bundles / plugins.
Eclipse Orbit provides lots of standard libraries already pre-packaged as bundles / plugins.
Lets see how you could get the iText version from Orbit. Check the Orbit FAQ to find out more.
You need to connect via cvs to the Eclipse cvs repository. CVS URL is :pserver:email@example.com/cvsroot/tools
Navigate to “org.eclipse.orbit”. Select “com.lowagie.text” and check it out.
After selecting the branch and pressing ok the system will download the library and you can start using the library.
In addition to Orbit you can also use the Springsource bundle repository. On this website you can search for bundles and download then directly. You can then import them as plugin projects into your workspace.