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.
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 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.
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.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.