awesome-java
A curated list of awesome frameworks, libraries and software for the Java programming language.
https://github.com/akullpp/awesome-java
Last synced: 3 days ago
JSON representation
-
Projects
-
Testing
- AssertJ - Fluent assertions that improve readability.
- JsonUnit - Library that simplifies JSON comparison in tests.
- XMLUnit - Simplifies testing for XML output.
- ConsoleCaptor - Captures console output for unit testing purposes.
- junit-dataprovider - TestNG-like data provider/runner for JUnit.
- junit-pioneer - JUnit 5 extension pack, pushing the frontiers on Jupiter.
- LogCaptor - Captures log entries for unit testing purposes.
- log-capture - Captures log entries and provides assertions for unit and integration testing.
- Mutability Detector - Reports whether instances of a given class are immutable.
- raml-tester - Tests if a request/response matches a given RAML definition.
- Selfie - Snapshot testing (inline and on disk).
- Stebz - Multi-approach framework for test steps managing.
- Testcontainers - Provides throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.
- JMockit - Integration testing, API mocking and faking, and code coverage.
- Mockito - Mocking framework that lets you write tests with a clean and simple API.
- Moco - Concise web services for stubs and mocks.
- PowerMock - Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers.
- EasyMock - EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing.
- JUnit - Common testing framework.
- Pact JVM - Consumer-driven contract testing.
- Kensa - Code-first BDD framework for Java and Kotlin that generates interactive HTML reports and sequence diagrams from test code.
- skipper-java - Real-time test execution control via Google Spreadsheet, enabling instant toggle without code changes.
- Java Evolved - Side-by-side comparisons of legacy and modern Java patterns.
- JBehave - Extensively configurable framework that describes stories.
- BitDive ![c - Zero-code integration testing platform that generates tests from runtime application behavior.
- jqwik - Engine for property-based testing built on JUnit 5.
- Selenium Boot - Zero-boilerplate Selenium + TestNG framework with auto driver management, smart retry, self-healing locators, AI failure analysis, and a built-in HTML report.
- Truth - Google's fluent assertion and proposition framework.
- test-watch-maven-plugin - Maven plugin providing Vitest-inspired watch mode for tests with smart selection and parallel execution.
-
Utility
- Guava - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more.
- JADE - Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only)
- JGit - Lightweight, pure Java library implementing the Git version control system.
- Protégé - Provides an ontology editor and a framework to build knowledge-based systems.
- Arthas - Allows to troubleshoot production issues for applications without modifying code or restarting servers.
- cactoos - Collection of object-oriented primitives.
- Chocotea - Generates postman collection, environment and integration tests from java code.
- CRaSH - Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later)
- Dex - Java/JavaFX tool capable of powerful ETL and data visualization.
- dregex - Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations.
- Embulk - Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services.
- fswatch - Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService.
- Gephi - Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only)
- Javadoc Publisher - Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page.
- Java Diff Utils - Utilities for text or data comparison and patching.
- JavaVerbalExpressions - Library that helps with constructing difficult regular expressions.
- JKScope - Java scope functions inspired by Kotlin.
- minio-java - Provides simple APIs to access any Amazon S3-compatible object storage server.
- Semver4j - Lightweight library that helps you handling semantic versioning with different modes.
- Underscore-java - Port of Underscore.js functions.
- bucket4j - Rate limiting library based on token-bucket algorithm.
- Protégé - Provides an ontology editor and a framework to build knowledge-based systems.
- java-util - Zero-dependency, high-performance utilities featuring Converter (universal type conversion), DeepEquals, CaseInsensitiveMap, TTLCache, CompactMap, MultiKeyMap, and object graph traversal.
- Jctx - Reads a Java project and generates a structured context file so AI tools can understand and help plan the codebase.
- java-refined - Zero-dependency refinement types for Java 8+ with type-safe wrappers covering numerics, strings, and collections.
- Sift - Type-safe, AST-based Regex Builder focused on readability and ReDoS prevention.
-
Version Managers
-
Web Crawling
- Apache Nutch - Highly extensible, highly scalable web crawler for production environments.
- jsoup - Scrapes, parses, manipulates and cleans HTML.
- Crawler4j - Simple and lightweight web crawler.
- webmagic - Scalable crawler with downloading, url management, content extraction and persistent.
- StormCrawler - SDK for building low-latency and scalable web crawlers.
-
Web Frameworks
- ActiveJ - Lightweight asynchronous framework built from the ground up for developing high-performance web applications.
- Apache Tapestry - Component-oriented framework for creating dynamic, robust, highly scalable web applications.
- Apache Wicket - Component-based web application framework similar to Tapestry, with a stateful GUI.
- Bootique - Minimally opinionated framework for runnable apps.
- Firefly - Asynchronous framework for rapid development of high-performance web application.
- Javalin - Microframework for web applications.
- Jooby - Scalable, fast and modular micro-framework that offers multiple programming models.
- Ninja - Full-stack web framework.
- Pippo - Small, highly modularized, Sinatra-like framework.
- Play - Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala.
- PrimeFaces - JSF framework with both free and commercial/support versions and frontend components.
- Ratpack - Set of libraries that facilitate fast, efficient, evolvable and well-tested HTTP applications.
- Vaadin - Event-driven framework that uses standard web components. Server-side architecture with Ajax on the client side.
- Blade - Lightweight, modular framework that aims to be elegant and simple.
- Firefly - Asynchronous framework for rapid development of high-performance web application.
- Pippo - Small, highly modularized, Sinatra-like framework.
- Takes - Opinionated web framework which is built around the concepts of True Object-Oriented Programming and immutability.
- WebForms Core - A technology for managing HTML tags from the server.
- PrimeFaces - JSF framework with both free and commercial/support versions and frontend components.
- Erupt - Annotation-Driven Low-Code & JPA Visualization
- tinystruct - Lightweight, pluggable framework for building Java applications with CLI, HTTP, and modular extension support.
- Bootique - Minimally opinionated framework for runnable apps.
- Jooby - Scalable, fast and modular micro-framework that offers multiple programming models.
-
Workflow Orchestration Engines
-
-
Resources
-
Communities
- r/java - Subreddit for the Java community.
- Stack Overflow - Question/answer platform.
-
Frontends
-
Influential Books
-
People
- Aleksey Shipilëv - Performance geek, benchmarking czar, concurrency bug hunter.
- Brian Goetz - Java Language Architect at Oracle.
- Bruno Borges - Product Manager/Java Jock at Oracle.
- Chris Engelbert - Open Source Enthusiast, Speaker, Developer, Developer Advocacy at TimescaleDB.
- Chris Richardson - Software architect, consultant, and serial entrepreneur, Java Champion, JavaOne Rock Star, \*POJOs in Action- author.
- Ed Burns - Consulting Member of the Technical Staff at Oracle.
- Eugen Paraschiv - Author of the Spring Security Course.
- Heinz Kabutz - Java Champion, speaker, author of The Java Specialists' Newsletter, concurrency performance expert.
- Holly Cummins - Technical Lead of IBM London's Bluemix Garage, Java Champion, developer, author, JavaOne rockstar.
- James Weaver - Java/JavaFX/IoT developer, author and speaker.
- Java Magazine - Official Java Magazine account.
- Javin Paul - Well-known Java blogger.
- Josh Long - Spring Advocate at Pivotal, author of O'Reilly's Cloud Native Java- and Building Microservices with Spring Boot, JavaOne Rock Star.
- Lukas Eder - Java Champion, speaker, Founder and CEO Data Geekery (jOOQ).
- Mani Sarkar - Java champion, Polyglot, Software Crafter involved with @graalvm, AI/ML/DL, Data Science, Developer communities, speaker & blogger. Creator of couple of awesome lists like this one.
- Mario Fusco - RedHatter, JUG coordinator, frequent speaker and author.
- Mark Heckler - Pivotal Principal Technologist and Developer Advocate, conference speaker, published author, and Java Champion, focusing on Internet of Things and the cloud.
- Mark Reinhold - Chief Architect, Java Platform Group, Oracle.
- Markus Eisele - Java EE evangelist, Red Hat.
- Martijn Verburg - London JUG co-leader, speaker, author, Java Champion and much more.
- Martin Thompson - Pasty faced performance gangster.
- Monica Beckwith - Performance consultant, JavaOne Rock Star.
- OpenJDK - Official OpenJDK account.
- Peter Lawrey - Peter Lawrey, Java performance expert.
- Randy Shoup - Stitch Fix VP Engineering, speaker, JavaOne Rock Star.
- Reza Rahman - Java EE/GlassFish/WebLogic evangelist, author, speaker, open source hacker.
- Sander Mak - Java Champion, author.
- Simon Maple - Java Champion, VirtualJUG founder, LJC leader, RebelLabs author.
- Spencer Gibb - Software Engineer, Dad, Geek, Co-founder and Lead of Spring Cloud Core @pivotal.
- Stephen Colebourne - Java Champion, speaker.
- Trisha Gee - Java Champion and speaker.
- Venkat Subramaniam - Author, University of Houston professor, MicroSoft MVP award recipient, JavaOne Rock Star, Java Champion.
- Vlad Mihalcea - Java Champion working on Hypersistence Optimizer, database aficionado, author of High-Performance Java Persistence book.
- Arun Gupta - Java Champion, JavaOne Rockstar, JUG Leader, Devoxx4Kids-er, VP of Developer Advocacy at Couchbase.
- Brian Goetz - Java Language Architect at Oracle.
- Chris Richardson - Software architect, consultant, and serial entrepreneur, Java Champion, JavaOne Rock Star, \*POJOs in Action- author.
- Josh Long - Spring Advocate at Pivotal, author of O'Reilly's Cloud Native Java- and Building Microservices with Spring Boot, JavaOne Rock Star.
- Lukas Eder - Java Champion, speaker, Founder and CEO Data Geekery (jOOQ).
- Randy Shoup - Stitch Fix VP Engineering, speaker, JavaOne Rock Star.
- Stephen Colebourne - Java Champion, speaker.
- Adam Bien - Freelance author, JavaOne Rockstar speaker, consultant, Java Champion.
- Bruno Borges - Product Manager/Java Jock at Oracle.
- Sander Mak - Java Champion, author.
- Spencer Gibb - Software Engineer, Dad, Geek, Co-founder and Lead of Spring Cloud Core @pivotal.
-
Podcasts and Screencasts
- 140 Second Ducklings - Short videos on Twitter explaining Java debugging in depth.
- A Bootiful Podcast
- Foojay Podcast
- Inside Java
- Java Off Heap
- The Java Posse - Discontinued as of 02/2015.
- The Java Posse - Discontinued as of 02/2015.
-
Related Awesome Lists
-
Websites
-
Programming Languages
Categories
Sub Categories
Platform
75
Testing
69
People
44
Miscellaneous
42
Database
40
Security
27
Monitoring
26
Utility
26
Web Frameworks
23
REST Frameworks
22
Websites
21
Code Generators
19
Science
17
JSON
17
Messaging
16
Distributed Applications
15
PDF
15
Distribution
15
Networking
15
Configuration
15
JVM and JDK
15
Logging
14
Related Awesome Lists
14
Template Engine
14
Machine Learning
13
Code Analysis
13
Performance analysis
12
Microservice
11
ORM
11
Data Structures
11
Bytecode Manipulation
11
Dependency Injection
11
HTTP Clients
11
Development
11
Game Development
10
Geospatial
10
Bean Mapping
10
CLI
10
Imagery
9
Formal Verification
9
Functional Programming
9
Financial
7
Introspection
7
Podcasts and Screencasts
7
Influential Books
7
Document Processing
7
Job Scheduling
7
GUI
7
Artificial Intelligence
7
Serialization
7
High Performance
7
Reactive libraries
6
Natural Language Processing
6
CSV
6
Decompilation
6
Web Crawling
5
Search
5
IDE
5
PaaS
5
Server
5
Date and Time
5
Native
5
Caching
4
Constraint Satisfaction Problem Solver
4
Hypermedia Types
4
Code Coverage
4
Distributed Transactions
4
Build
4
Processes
3
Workflow Orchestration Engines
3
Computer Vision
3
Code Formatting
3
Flat File
3
Version Managers
3
Mobile Development
3
Communities
2
Cloud
2
Architecture
2
Frontends
2
Cluster Management
2
Compiler-compiler
2
Pathfinding
1
Decentralization
1
Keywords
java
238
kotlin
19
spring-boot
17
testing
16
android
15
spring
14
microservices
13
jvm
13
static-analysis
12
monitoring
12
database
10
http
10
java-library
10
json
9
python
9
awesome
9
javascript
8
annotation-processor
8
xml
8
rest
8
rest-api
8
junit
7
sql
7
rpc
7
library
7
machine-learning
7
maven-plugin
6
framework
6
api
6
javafx
6
high-performance
6
serialization
6
configuration
6
orm
6
java8
6
metrics
6
logging
6
java-8
6
jdbc
6
jackson
6
cloud-native
6
static-code-analysis
6
awesome-list
6
cpp
5
scheduler
5
rust
5
groovy
5
test-automation
5
functional-programming
5
generator
5