In this episode of Eclipse Papercuts I explain how you get bundles for popolar Java libraries for your Eclipse plugin development.
I believe it has advantages to work with plugin projects instead of pure Java projects even if the plan is not to create Eclipse plugins / RCP applications.
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.
I would be nicer to consume pre-packages bundles. As I created a bug iText should be OSGi and tweeted about it Chris Aniszczyk pointed me to Eclipse Orbit.
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:anonymous@dev.eclipse.org/cvsroot/tools
Navigate to “org.eclipse.orbit”. Select “com.lowagie.text” and check it out.

Orbit keeps the different version of the library as cvs branches. Select your project and select Replace With -> Another Branch or Version…


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.
Explains why Eclipse Plugins are improving the definition of the external API and how to get prepared Eclipse plugins via the Springsource bundle repository.