fucking-awesome-java
A curated list of awesome frameworks, libraries and software for the Java programming language. With repository starsβ and forksπ΄
https://github.com/correia-jpv/fucking-awesome-java
Last synced: 11 days ago
JSON representation
-
Projects
- Jamal - 2.0</kbd> π΄<br>Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling.
- jstachio - 3-Clause</kbd> π΄<br>Typesafe Mustache templating engine.
- jte - 2.0</kbd> π’<br>Compiles to classes, and uses an easy syntax, several features to make development easier and provides fast execution and a small footprint.
- Jtwig
- Rocker
- StringTemplate
- Awaitility - 2.0</kbd> π <br>DSL for synchronizing asynchronous operations.
- ConcurrentUnit - 2.0</kbd> π΄<br>Toolkit for testing multi-threaded and asynchronous applications.
- Hoverfly Java - 2.0</kbd> π’<br>Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services.
- Karate - automation, mocks and performance-testing making testing REST/HTTP services easy.
- REST Assured - 2.0</kbd> π’<br>DSL for easy testing of REST/HTTP services.
- WebTau - 2.0</kbd> π <br>Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts.
- Cucumber
- Cukes-REST - 2.0</kbd> π΄<br>Collection of Gherkin steps for REST-service testing using Cucumber.
- J8Spec - like syntax.
- Lamdba Behave
- Serenity BDD
- AutoParams
- Beanmother - 2.0</kbd> π΄<br>Sets up beans from YAML fixtures.
- Datafaker - 2.0</kbd> π’<br>Modern fake data generator forked from Java Faker.
- Fixture Factory - 2.0</kbd> π΄<br>Generates fake objects from a template.
- jFairy - 2.0</kbd> π’<br>Fake data generator.
- Instancio - 2.0</kbd> π’<br>Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension.
- Randomized Testing - 2.0</kbd> π’<br>JUnit test runner and plugins for running JUnit tests with pseudo-randomness.
- Java Faker
- Mockneat - 2.0</kbd> π΄<br>Another fake data generator.
- JMock - 2.0</kbd> π’<br>JMock is a high-performance data generation and simulation component library implemented in Java.
- cdi-test - 2.0</kbd> π’<br>JUnit extension for easy and efficient testing of CDI components.
- weld-testing - 2.0</kbd> π’<br>Set of test framework extensions (JUnit 4, JUnit 5, Spock) to enhance the testing of CDI components via Weld. Supports Weld 5.
- selenium - 2.0</kbd> π’<br>Browser automation framework and ecosystem.
- JsonUnit - 2.0</kbd> π’<br>Library that simplifies JSON comparison in tests.
- XMLUnit - 2.0</kbd> π’<br>Simplifies testing for XML output.
- ConsoleCaptor - 2.0</kbd> π’<br>Captures console output for unit testing purposes.
- junit-dataprovider - 2.0</kbd> π <br>TestNG-like data provider/runner for JUnit.
- LogCaptor - 2.0</kbd> π’<br>Captures log entries for unit testing purposes.
- log-capture
- Mutability Detector - 2.0</kbd> π <br>Reports whether instances of a given class are immutable.
- raml-tester - 2.0</kbd> π΄<br>Tests if a request/response matches a given RAML definition.
- Selfie - 2.0</kbd> π’<br>Snapshot testing (inline and on disk).
- Stebz - approach framework for test steps managing.
- Testcontainers
- Mockito
- Moco
- PowerMock - 2.0</kbd> π΄<br>Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers.
- EasyMock
- Arthas - 2.0</kbd> π’<br>Allows to troubleshoot production issues for applications without modifying code or restarting servers.
- cactoos - oriented primitives.
- Chocotea - 2.0</kbd> π΄<br>Generates postman collection, environment and integration tests from java code.
- Dex - 2.0</kbd> π΄<br>Java/JavaFX tool capable of powerful ETL and data visualization.
- dregex - 2-Clause</kbd> π <br>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 - 2.0</kbd> π’<br>Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services.
- fswatch - 2.0</kbd> π’<br>Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService.
- Gephi - 3.0</kbd> π’<br>Cross-platform for visualizing and manipulating large graph networks.
- Guava - 2.0</kbd> π’<br>Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more.
- Javadoc Publisher - 2.0</kbd> π <br>Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page.
- JavaVerbalExpressions
- JKScope - 2.0</kbd> π΄<br>Java scope functions inspired by Kotlin.
- minio-java - 2.0</kbd> π’<br>Provides simple APIs to access any Amazon S3-compatible object storage server.
- Semver4j
- Underscore-java
- jenv
- SDKMan - 2.0</kbd> π’<br>Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows.
- Crawler4j - 2.0</kbd> π΄<br>Simple and lightweight web crawler.
- webmagic - 2.0</kbd> π <br>Scalable crawler with downloading, url management, content extraction and persistent.
- Blade - 2.0</kbd> π’<br>Lightweight, modular framework that aims to be elegant and simple.
- Takes - Oriented Programming and immutability.
- WebForms Core
- flowable - 2.0</kbd> π’<br>Compact and efficient workflow and business process management platform.
- Pinpoint - 2.0</kbd> π’<br>Open-source APM tool.
- JavaPackager - 3.0</kbd> π <br>Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them.
- Eclipse Collections
- JsonSurfer
- OpenJ9 - calibre, flexibly licensed, openly-governed cross-platform JVM extending and augmenting the runtime technology components from the Eclipse OMR and OpenJDK project.
- Intelligent java - 2.0</kbd> π΄<br>Seamlessly integrate with remote deep learning and language models programmatically.
- AutoMQ - 2.0</kbd> π’<br>AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective.
- Membrane Service Proxy - 2.0</kbd> π’<br>Open-source, reverse-proxy framework.
- Light-4J - 2.0</kbd> π’<br>Fast, lightweight and productive microservices framework with built-in security.
- Fury - 2.0</kbd> π’<br>Blazing fast object graph serialization framework powered by JIT and zero-copy.
- Pact JVM - 2.0</kbd> π’<br>Consumer-driven contract testing.
- bucket4j - 2.0</kbd> π’<br>Rate limiting library based on token-bucket algorithm.
- Agrona - 2.0</kbd> π’<br>Data structures and utility methods that are common in high-performance applications.
- SBE - 2.0</kbd> π’<br>Simple Binary Encoding, one of the fastest message formats around.
- Spring Data Dynamic Query - 2.0</kbd> π <br>Unified dynamic query interface for Spring Data JPA, MongoDB, and Elasticsearch, enabling advanced JOIN(s), OR logic, scoped conditions, powerful projections and advanced features with zero boilerplate.
- Sierra - 2.0</kbd> π’<br>Lightwieght declarative DSL for rapid development of Swing applications.
- Dragonwell8 - 2.0</kbd> π’<br>Downstream version of OpenJDK optimized for online e-commerce, financial, logistics applications.
- Open HTML to PDF
- Orienteer - 2.0</kbd> π΄<br>Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications.
- jSciPy
- Erupt - 2.0</kbd> π’<br>Annotation-Driven Low-Code & JPA Visualization.
- Emissary - 2.0</kbd> π <br>Simple, lightweight, yet FAST messaging library for decoupling messages (requests and events) and message handlers.
- Boot Usage Spring Boot Starter - 2.0</kbd> π’<br>Spring Boot Actuator extension providing application startup and runtime metrics including JVM uptime, memory usage, and CPU load.
- JamJet - 2.0</kbd> π’<br>Agent runtime with a Java SDK for building AI agents, supporting graph-based workflow orchestration, multi-agent coordination, and MCP/A2A protocols.
- AliveJTUI - style TUI library for building terminal UIs as component trees with diff-based rendering, focus management, and themes.
- Delta Coverage
- Spring CRUD Generator - 2.0</kbd> π’<br>Maven plugin for generating Spring Boot CRUD applications from YAML/JSON specifications.
- ClearConfig - 2.0</kbd> π’<br>Type-safe, composable configuration library with a focus on runtime clarity.
- Open J Proxy - 2.0</kbd> π’<br>Type 3 JDBC driver and Layer 7 proxy server for decoupling applications from relational database connection management.
- Jollyday - 2.0</kbd> π’<br>Determines the holidays for a given year, country/name and eventually state/region.
- Dimension-DI - 2.0</kbd> π’<br>JSR-330 runtime dependency injection using the JDK Class-File API.
- Sheetz - 2.0</kbd> π’<br>Reads and writes Excel, CSV and ODS files with annotation mapping, streaming, styling and validation.
- Parallel Collectors - 2.0</kbd> π’<br>Stream API Collectors for parallel processing with custom thread pools, designed for I/O-heavy workloads.
- Nyagram - safe framework for Telegram bots based on Spring Boot 3 and Java 21.
- mybatis-dynamic - first dynamic ORM for MyBatis with runtime schema modification.
- Heap Seance - 2.0</kbd> π <br>Memory leak diagnostics that orchestrates jcmd, jmap, jstat, JFR, Eclipse MAT, and async-profiler into a structured investigation workflow with confidence-based verdicts.
- JVM Hotpath - level execution frequency analysis to identify algorithmic bottlenecks.
- Certificate Ripper - 2.0</kbd> π’<br>CLI tool and library for extracting and exporting server certificates from HTTPS endpoints.
- Kensa - 2.0</kbd> π’<br>Code-first BDD framework for Java and Kotlin that generates interactive HTML reports and sequence diagrams from test code.
- skipper-java - time test execution control via Google Spreadsheet, enabling instant toggle without code changes.
- java-util - 2.0</kbd> π’<br>Zero-dependency, high-performance utilities featuring Converter (universal type conversion), DeepEquals, CaseInsensitiveMap, TTLCache, CompactMap, MultiKeyMap, and object graph traversal.
- Jctx
- java-refined - dependency refinement types for Java 8+ with type-safe wrappers covering numerics, strings, and collections.
- Sift - 2.0</kbd> π’<br>Type-safe, AST-based Regex Builder focused on readability and ReDoS prevention.
- tinystruct - 2.0</kbd> π’<br>Lightweight, pluggable framework for building Java applications with CLI, HTTP, and modular extension support.
- Anahata ASI - 2.0</kbd> π’<br>Java agent container with local LLM adapters, stateful tool execution, context management and IDE integration.
- Dokimos - agent applications that scores responses, validates tool calls and execution traces, and catches quality regressions in CI.
- liter-llm
- Regulus
- Immuto - safe mapper implementations for Java Records using canonical constructors, with zero runtime reflection.
- jar-cart - configuration package manager and runner for the Java ecosystem written in Go, focusing on developer productivity and build speed.
- google-java-format
- JHarmonizer
- Palantir Java Format - 2.0</kbd> π’<br>Formatter based on google-java-format with wider lines and lambda-friendly output.
- CRUDGen - 2.0</kbd> π’<br>Compile-time annotation processor generating CRUD layers, DTOs, JSON Patch, and custom HTTP endpoints for Spring Boot.
- sealed-env
- HashSmith - style SWAR/SIMD control-byte probing, optimized for memory efficiency.
- Wormhole4j - 2.0</kbd> π’<br>High-performance sorted map with fast range scans and thread-safe concurrent access, based on the Wormhole index structure.
- Actual Schema Gradle Plugin - 2.0</kbd> π’<br>Generates PostgreSQL schema DDL from Liquibase migrations using Testcontainers.
- CFR
- Fernflower - 2.0</kbd> π’<br>Java decompiler with broad JVM bytecode support.
- JD-Core - 3.0</kbd> π΄<br>Core Java decompiler library.
- Procyon
- transformer-api - 2.0</kbd> π’<br>Unified API that exposes multiple decompilers through one in-memory transformation interface.
- Vineflower - 2.0</kbd> π’<br>Modern maintained fork of Fernflower.
- Nuts
- html-to-markdown - compatible Markdown through a Java binding.
- jackson-dataformat-spreadsheet - 2.0</kbd> π’<br>Jackson dataformat module for reading and writing Excel (XLSX/XLS) as POJOs via `ObjectMapper`.
- xberg
- Wickra - 2.0</kbd> π’<br>Technical-analysis library with 514 streaming O(1)-per-tick indicators on a native Rust core, on Maven Central as org.wickra:wickra; more indicators and incremental updates than the pure-Java ta4j.
- BeanIO - 2.0</kbd> π΄<br>Maps flat files of fixed-length or delimited records to and from Java beans using XML or annotation configuration.
- fixedformat4j - 2.0</kbd> π’<br>Annotation-driven mapping of fixed-width flat files to and from POJOs and Java records.
- Flatpack - 2.0</kbd> π <br>Parses and writes delimited and fixed-length flat files with optional column-mapping definitions.
- FlatLaf - 2.0</kbd> π’<br>Modern Swing Look and Feel with Darcula and IntelliJ themes.
- JQuickCurl
- sklearn-java - 2.0</kbd> π’<br>Implements scikit-learn-style machine learning algorithms in pure Java.
- JQuick Java - like scripting language for dynamic rule engines with XML orchestration and Java interoperability.
- java-ngrok
- GraphCompose
- jquick-pdf - like templates and ECharts-style charts using iText 7, without a browser dependency.
- Argus - profiler, heap analysis and machine-readable health verdicts.
- OfficeFloor - 2.0</kbd> π’<br>Spring Boot add-on that adds explicit function orchestration to REST endpoints, with each endpoint's steps, branches and error flows in one YAML file whose directory path maps to the URL.
- Selenium Boot - boilerplate Selenium + TestNG framework with auto driver management, smart retry, self-healing locators, AI failure analysis, and a built-in HTML report.
- test-watch-maven-plugin - inspired watch mode for tests with smart selection and parallel execution.
- crawlberg
- Spring AI - 2.0</kbd> π’<br>Application framework for AI engineering for Spring.
- Apache Maven - 2.0</kbd> π’<br>Declarative build and dependency management that favors convention over configuration. It might be preferable to Apache Ant, which uses a rather procedural approach and can be difficult to maintain.
- Bazel - 2.0</kbd> π’<br>Tool from Google that builds code quickly and reliably.
- Gradle - 2.0</kbd> π’<br>Incremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management.
- ReleaseRun
- Byte Buddy - 2.0</kbd> π’<br>Further simplifies bytecode generation with a fluent API.
- Byteman - 2.1-or-later)
- Recaf
- cache2k - 2.0</kbd> π΄<br>In-memory high performance caching library.
- Ehcache - 2.0</kbd> π’<br>Distributed general-purpose cache.
- Infinispan - 2.0</kbd> π’<br>Highly concurrent key/value datastore used for caching.
- Airline - 2.0</kbd> π’<br>Annotation-based framework for parsing Git-like command-line arguments.
- JCommander - 2.0</kbd> π <br>Command-line argument-parsing framework with custom types and validation via implementing interfaces.
- picocli - 2.0</kbd> π’<br>ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args.
- jQAssistant - 3.0</kbd> π’<br>Static code analysis with Neo4J-based query language.
- JSpecify - 2.0</kbd> π’<br>Standardized nullness annotations designed to work uniformly across various Java IDEs, compilers, and static analysis tools.
- ToolsHref - to-Mermaid visualization tool.
- Cobertura - 2.0</kbd> π΄<br>Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics.
- JaCoCo
- OpenClover - code instrumentation, with build-tool and IDE integrations.
- Spotless - 2.0</kbd> π’<br>A versatile code formatter for Gradle and Maven that enforces multiple styles (including Google and Palantir) across Java and other languages.
- Avaje Http Server - 2.0</kbd> π’<br>Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE.
- Immutables - 2.0</kbd> π’<br>Annotation processors to generate simple, safe and consistent value objects.
- Joda-Beans - 2.0</kbd> π <br>Small framework that adds queryable properties to Java, enhancing JavaBeans.
- Lombok
- ANTLR - 3-Clause</kbd> π <br>Complex full-featured framework for top-down parsing.
- JavaCC - 3-Clause</kbd> π΄<br>Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications.
- JFlex
- BoofCV
- ImageJ
- avaje config - 2.0</kbd> π’<br>Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners.
- Curator Framework - 2.0</kbd> π’<br>High-level API for Apache ZooKeeper.
- microconfig - 2.0</kbd> π΄<br>Configuration system designed for microservices which helps to separate configuration from code. The configuration for different services can have common and specific parts and can be dynamically distributed.
- Choco - 3-Clause</kbd> π’<br>Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques.
- Timefold - 2.0</kbd> π’<br>Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more.
- jackson-dataformat-csv - 2.0</kbd> π’<br>Jackson extension for reading and writing CSV.
- Super CSV - 2.0</kbd> π΄<br>Powerful CSV parser with support for Dozer, Joda-Time and Java 8.
- Apache Avro - 2.0</kbd> π’<br>Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs.
- Apache Orc - 2.0</kbd> π’<br>Fast and efficient columnar storage format for Hadoop-based workloads.
- Apache Parquet - 2.0</kbd> π’<br>Columnar storage format based on assembly algorithms from Google's paper on Dremel.
- Apache Thrift - 2.0</kbd> π’<br>Data interchange format that originated at Facebook.
- Apache Calcite - 2.0</kbd> π’<br>Dynamic data management framework. It contains many of the pieces that comprise a typical database management system.
- Apache Drill - 2.0</kbd> π’<br>Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration.
- Apache Phoenix - 2.0</kbd> π’<br>High-performance relational database layer over HBase for low-latency applications.
- ArcadeDB - 2.0</kbd> π’<br>Multi-model database supporting graphs, documents, key-value, time series, and vector embeddings with SQL, Cypher, Gremlin, MongoDB, and Redis API compatibility.
- Debezium - 2.0</kbd> π’<br>Low latency data streaming platform for change data capture.
- druid - 2.0</kbd> π’<br>High-performance, column-oriented, distributed data store.
Categories
Sub Categories
Miscellaneous
6
Code Generators
6
Security
5
Monitoring
4
REST Frameworks
3
Configuration
3
JSON
3
Logging
3
Code Coverage
3
PaaS
3
Bytecode Manipulation
3
Web Crawling
2
Messaging
2
Science
2
Geospatial
2
Microservice
2
Game Development
2
Data Structures
2
PDF
2
Distribution
2
CSV
2
Machine Learning
2
Distributed Applications
2
CLI
2
High Performance
2
Web Frameworks
2
Financial
2
Database
2
IDE
1
Testing
1
Functional Programming
1
Serialization
1
Development
1
Formal Verification
1
Performance analysis
1
Introspection
1
Natural Language Processing
1
JVM and JDK
1
Version Managers
1
Build
1
Date and Time
1
Utility
1
Podcasts and Screencasts
1
Compiler-compiler
1
Keywords
java
379
kotlin
39
commons
30
database
27
testing
23
spring-boot
21
android
20
microservices
20
sql
20
jvm
19
java-library
17
library
16
python
16
http
16
jdbc
15
spring
15
static-analysis
15
apache
13
framework
13
machine-learning
12
monitoring
12
xml
12
junit
11
javafx
11
javascript
11
rest-api
11
json
11
scala
11
logging
10
orm
10
high-performance
10
groovy
10
big-data
10
annotation-processor
10
awesome
10
cloud-native
10
api
9
jpa
9
rest
9
reactive
9
security
9
web
9
messaging
9
test-automation
8
template-engine
8
data-science
8
maven-plugin
8
functional-programming
8
mysql
8
kubernetes
8