An open API service indexing awesome lists of open source software.

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.