Update on 2020/10/07: This list was created nearly 10 years ago. The new list is available here.
This article summarizes the most popular and widely used Java libraries for a variety of different applications.
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
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
- Swing – a GUI library from SDK. (example)
- SWT – a GUI library from eclipse.
SWT vs. Swing
6. GUI Frameworks
- Eclipse RCP. (example)
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.
And here summary based on big data analysis -http://www.77dev.com/2014/05/what-are-most-popular-java-libraries.html
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
bull’s B
lambok? lombok!
Thanks. ADDED.
How about listing a couple of database libraries? These come to mind:
– Hibernate / EclipseLink / JPA
– JDO
– jOOQ
– SpringJDBC / Spring Data
– Apache DbUtils
看ç€éƒ½å¾ˆç†Ÿæ‚‰å°±æ˜¯çœ‹ä¸æ‡‚
我é ï¼Œä½ è¿™æ ·ä¹Ÿèƒ½çœ‹å‡ºæ¥ã€‚
哈哈,ä¸æ˜Žè§‰åŽ‰
æˆ‘çŒœä½ ä»¬æ˜¯CSDN过æ¥çš„
ä½ ä¸ç”¨çœ‹å°±çŸ¥é“是ä¸å›½äºº
一看就是ä¸å›½äºº
i can’t understand,but i think it is bull’s B
Someone doesn’t know his Web frameworks 😉
Jackson and XStream give a good fight to Gson
“most popular web framework from Apache”. Spring is not an apache project.
you forgot JodaTime
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.