Fundamentals 16 min read

Comprehensive List of Java Development Tools and Libraries

This article provides an extensive, categorized collection of Java tools and libraries covering build systems, bytecode manipulation, code analysis, compilers, continuous integration, databases, date‑time handling, dependency injection, development utilities, distributed applications, publishing, documentation, game development, GUI, high‑performance collections, IDEs, image processing, JSON handling, JVM/JDK, logging, machine learning, messaging, networking, ORM, PDF generation, REST frameworks, scientific computing, search, security, serialization, servers, template engines, testing, general utilities, web crawling, and web frameworks.

Qunar Tech Salon
Qunar Tech Salon
Qunar Tech Salon
Comprehensive List of Java Development Tools and Libraries

Build

Tools for building Java applications: Apache Maven (declarative build and dependency management), Gradle (incremental builds with Groovy DSL, integrates with Maven and Ant).

Bytecode Manipulation

Libraries for operating on Java bytecode: ASM (low‑level bytecode manipulation), Javassist (simplifies bytecode editing), Byte Buddy (fluent API for bytecode generation).

Code Analysis

Static analysis and quality assessment tools: Checkstyle, FindBugs, PMD, SonarQube.

Compilers

Frameworks for creating parsers, interpreters, and compilers: ANTLR, JavaCC.

Continuous Integration

CI tools supporting build, test, and deployment: Bamboo, CircleCI, Codeship, Go, Jenkins, TeamCity, Travis.

Databases

Utilities for simplifying database interaction: Flyway (migration), H2 (in‑memory SQL DB), JDBI, jOOQ (type‑safe SQL code generation), Presto (distributed SQL engine), Querydsl.

Date and Time

Libraries for handling dates and times: Joda‑Time (pre‑Java 8), Time4J.

Dependency Injection

DI frameworks: Dagger (compile‑time, no reflection, Android‑focused), Guice.

Development Libraries

Enhancements for development workflows: AspectJ (AOP), Auto (code generators), DCEVM (runtime class redefinition), JRebel (hot reloading), Lombok (boilerplate reduction), RxJava (reactive extensions), Spring Loaded, Vert.x (event‑driven framework).

Distributed Applications

Frameworks for building fault‑tolerant distributed systems: Akka, Apache Storm, Apache ZooKeeper, Hazelcast, Hystrix, JGroups, Quasar.

Publishing

Tools for distributing Java applications: Bintray, IzPack, Launch4j, packr.

Document Processing

Libraries for handling Office formats: Apache POI, jOpenDocument.

Game Development

Game engines: jMonkeyEngine, libGDX, LWJGL.

GUI

Libraries for modern graphical user interfaces: JavaFX, Scene Builder.

High‑Performance

Collections and utilities for high‑performance computing: Disruptor, fastutil, GS Collections, hftc, HPPC, Javolution, Trove.

IDE

Integrated development environments: Eclipse, IntelliJ IDEA, NetBeans.

Image Processing

Libraries for image handling: Picasso (Android), ZXing (barcode processing).

JSON

JSON handling libraries: Gson, Jackson.

JVM and JDK

Current JVM/JDK implementations: JDK 9 (early access), OpenJDK.

Logging

Logging frameworks: Apache Log4j 2, Kibana, Logback, Logstash, SLF4J.

Machine Learning

Statistical and data‑mining tools: Apache Hadoop, Apache Mahout, Apache Spark, h2o, Weka.

Messaging

Message‑oriented middleware: Apache ActiveMQ, Apache Kafka, JBoss HornetQ, JeroMQ.

Network

Network programming libraries: Netty, OkHttp.

ORM

Object‑relational mapping frameworks: EclipseLink, Hibernate, Ebean.

PDF

PDF creation and manipulation tools: Apache FOP, Apache PDFBox, DynamicReports, iText, JasperReports.

REST Frameworks

Frameworks for building RESTful services: Dropwizard, Jersey, RESTEasy, Retrofit, Spark, Swagger.

Scientific

Scientific computing and visualization: SCaVis.

Search

Search and indexing engines: Apache Solr, Elasticsearch.

Security

Security, authentication, and authorization libraries: Apache Shiro, Cryptomator, Keycloak, PicketLink, Spring Security.

Serialization

Efficient serialization libraries: FlatBuffers, Kryo, MessagePack.

Server

Application servers: Apache Tomcat, Apache TomEE, GlassFish, Jetty, WildFly.

Template Engines

Template processing tools: Apache Velocity, FreeMarker, Handlebars.java, JavaServer Pages, Thymeleaf.

Testing

Testing tools covering unit, integration, performance, and UI testing: Apache JMeter, Arquillian, AssertJ, JMH, JUnit, Mockito, Selenium, Selenide, TestNG, VisualVM.

Utility Libraries

General-purpose utilities: Apache Commons, Guava, javatuples.

Web Crawlers

Crawling libraries: Apache Nutch, Crawler4j, JSoup.

Web Frameworks

Frameworks for web application development: Apache Tapestry, Apache Wicket, Google Web Toolkit, Grails, Play, PrimeFaces, Spring Boot, Spring, Vaadin, Ninja, Ratpack.

Resources

Community sites, influential books, podcasts, notable accounts, and websites related to Java.

JavatestingframeworksLibrariesdevelopment toolsbuild systemsutilities
Qunar Tech Salon
Written by

Qunar Tech Salon

Qunar Tech Salon is a learning and exchange platform for Qunar engineers and industry peers. We share cutting-edge technology trends and topics, providing a free platform for mid-to-senior technical professionals to exchange and learn.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.