Opensource Java Libraries and Frameworks

Google Collections/Guava:  Google’s collections API and many other useful core libraries that help to extend the core Java libraries.

JUnit:  A good xUnit test framework for Java.

Hibernate:  Helps facilitate the storage and retrieval Java domain objects through Object/Relational mappings.

Joda-Time:  …………………………..   Makes dealing with date and time calculations and objects significantly easier.

Spring:  Provides extra functionality for everyday applications but mainly used in the creation and management of web applications.

Lucene:   “…is a high-performance, full-featured text search engine library written entirely in Java.”

JFreeCharts:  Considered one of the top charting/graph libraries for Java.

iText:  PDF creations and manipulation.

Log4J:   A good library devoted to logging.

XStream:  “Out of the box POJO serialization to XML and back again” – Pyrolistical

SWT:  Libraries for creating extensive UIs in Java.

SwingLabs:  A library for extending the functionality provided by Java’s Swing component.

Jetty:  “Easy-to-use, full-featured, embeddable web server and webapp container” – David Crow

JDOM:  XML and DOM manipulation for Java.

Selenium:  Write tests in JUnit style, then run automated tests against them in Firefox.

JAI:   “… provides a set of object-oriented interfaces that supports a simple, high-level programming model which allows images to be manipulated easily in Java applications and applets. JAI goes beyond the functionality of traditional imaging APIs to provide a high-performance, platform-independent, extensible image processing framework.”

Velocity:  Create text (SQL Queries, HTML, etcetera) from predefined templates.

jXLS:  Create XML files from templates.

Google Web Toolkit (GWT):  Code in Java, then compile to JavaScript.  Useful for creating good looking AJAX web applications.

Processing:   A powerful graphics and multimedia for Java.  Has also been ported over as a JavaScript version.

DOM4J:  XML/Xpath/XSLT processing for Java.