The Most Widely Used Java Libraries

A typical Java project relies on third-party libraries. This article summarizes the most popular and widely used Java libraries for a variety of different applications. A simple example is also provided for some of them, if it can be found on ProgramCreek.

Java SDK is surely the #1 widely used library. So the focus of this list is the popular third-party libraries. The list may not not perfect, so leave your comment if you think others should be included.

1. Core

  • Apache Commons Lang - Apache's library that provides a host of helper utilities for the java.lang API, such as String manipulation, object creation, etc.
  • Google Guava - Google's Core library for collections, caching, primitives support, etc. (example)

2. HTML, XML Parser

  • Jsoup - a convenient library to manipulate HTML. (example)
  • STaX - Process XML code. (example)

3. Web Frameworks

  • Spring - an open source application framework and inversion of control container for the Java platform. (example)
  • Struts 2 - most popular web framework from Apache. (example)
  • Google Web Toolkit - a development toolkit from Google for building and optimizing complex browser-based applications. (example)
  • Strips - a presentation framework for building web applications using the latest Java technologies.
  • Tapestry - component oriented framework for creating dynamic, robust, highly scalable web applications in Java.
  • Here is a comparison of those frameworks.

4. Chart, Report, Graph

  • JFreeChart - creates charts such as bar charts, line charts, pie charts, etc.
  • JFreeReport - creates PDF reports.
  • JGraphT - create graph that contains a set of nodes connected by edges.

5. Windowing Libraries

6. GUI Frameworks

7. Natural Language Processing

  • OpenNLP - a library from Apache. (example)
  • Stanford Parser - a library from Stanford University. (example)

If you are an expert of NLP, here are more tools.

8. Static Analysis

  • Eclipse JDT - a library from IBM which can manipulate Java source code. (example)
  • WALA - a library that can process .jar file, i.e., bytecode. (example)

9. JSON

  • Jackson - a multi-purpose Java library for processing JSON data format. Jackson aims to be the best possible combination of fast, correct, lightweight, and ergonomic for developers.
  • XStream - a simple library to serialize objects to XML and back again.
  • Google Gson - a Java library that can be used to convert Java Objects into their JSON representation. (example)
  • JSON-lib - a java library for transforming beans, maps, collections, java arrays and XML to JSON and back again to beans and DynaBeans.

10. Math

  • Apache Commons Math - provide functions for math and statistics.

11. Logging

  • Apache Log4j - most popular logging library. (example)
  • Logback - a successor to the popular log4j project.
  • The Simple Logging Facade for Java (SLF4J) - a simple facade or abstraction for various logging frameworks (e.g. java.util.logging, logback, log4j) allowing the end user to plug in the desired logging framework at deployment time.

12. Office-Complicant

  • Apache POI - APIs for manipulating various file formats based upon Microsoft's OLE 2 Compound Document format using pure Java.
  • Docx4j - a Java library for creating and manipulating Microsoft Open XML (Word docx, Powerpoint pptx, and Excel xlsx) files.

--- More from comments ---

13. Date and Time

  • Joda-Time - a quality replacement for the Java date and time classes.

14. Database

  • Hibernate / EclipseLink / JPA
  • JDO
  • jOOQ
  • SpringJDBC / Spring Data
  • Apache DbUtils

Development Tools

  • Lombok - a Java library meant to simplify the development of Java code writing

* 1) The list above are based on my own survey combined with personal experience. It is possible that they are not precisely THE MOST popular, but at least well-known.
* 2) I will keep updating this list to make it more complete and accurate. Thanks for your comments.

Category >> Library >> Top 10  
  • http://opentangerine.com Paweł Papkala

    And here summary based on big data analysis -http://www.77dev.com/2014/05/what-are-most-popular-java-libraries.html

  • Grzegorz Gajos

    Lately I was working on gathering some data and preparing answer to this question http://www.77dev.com/2014/05/what-are-most-popular-java-libraries.html

  • xiaoma

    bull’s B

  • mihajlovic

    lambok? lombok!

  • ryanlr

    Thanks. ADDED.

  • LukasEder

    How about listing a couple of database libraries? These come to mind:
    - Hibernate / EclipseLink / JPA
    - JDO
    - jOOQ
    - SpringJDBC / Spring Data
    - Apache DbUtils

  • 啊的

    看着都很熟悉就是看不懂

  • tracy

    我靠,你这样也能看出来。

  • study630

    哈哈,不明觉厉

  • haa wang

    我猜你们是CSDN过来的

  • ixiaohei

    你不用看就知道是中国人

  • rowandjj

    一看就是中国人

  • tracy

    i can’t understand,but i think it is bull’s B

  • Foobar Smedley

    Someone doesn’t know his Web frameworks ;-)

  • alfasin

    Jackson and XStream give a good fight to Gson

  • lenrok258

    “most popular web framework from Apache”. Spring is not an apache project.

  • devpro404

    you forgot JodaTime

  • Bruce Phillips

    Just curious – what is your reference for writing “most popular web framework from Apache” for Struts 2 – I would have thought Spring Web MVC is now the most popular (most used) web framework.