The project's README from github.com/akullpp/awesome-java. As one markdown file: README.md.
A curated list of noteworthy Java frameworks, libraries, tools and resources.
818 projects · 80 categories · 85 resources
Activity: 🟢 pushed within 3 months · 🟠 pushed 3–12 months ago · 🔴 no push for over 12 months
License chips use GitHub SPDX metadata when available.
Entries spanning several repositories combine their stars, use the most recent push for activity and show a license only when all repositories agree.
Frameworks and libraries that help implementing and verifying design and architecture concepts.
ArchUnit ★ 3.8k Apache-2.0 🟢
Test library for specifying and asserting architecture rules.
jMolecules ★ 1.6k Apache-2.0 🟠
Annotations and interfaces to express design and architecture concepts in code.
jQAssistant ★ 289 GPL-3.0 🟢
Static code analysis with Neo4J-based query language.
Taikai ★ 250 MIT 🟢
ArchUnit extension with predefined architecture rules for common Java technologies.
WireDoctor ★ 7 Apache-2.0 🟢
Runtime diagnostic for Spring Boot apps that detects cyclic bean dependencies and slow beans, with CI regression gates.
Frameworks for building applications with AI, agents and knowledge-based systems.
A2A Java SDK ★ 479 Apache-2.0 🟢
Official Java SDK for the Agent2Agent protocol.
AgentScope Java ★ 5.2k 🟢
Framework for building distributed, long-running AI agents with tool execution, persistence and multi-agent orchestration.
Anahata ASI ★ 26 Apache-2.0 🟢
Java agent container with local LLM adapters, stateful tool execution, context management and IDE integration.
Dokimos ★ 52 MIT 🟢
Evaluation framework for LLM and AI-agent applications that scores responses, validates tool calls and execution traces, and catches quality regressions in CI.
Google Gen AI Java SDK ★ 392 Apache-2.0 🟢
Official Java SDK for integrating Google generative AI models.
JADE
Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only)
JamJet ★ 21 Apache-2.0 🟢
Agent runtime with a Java SDK for building AI agents, supporting graph-based workflow orchestration, multi-agent coordination, and MCP/A2A protocols.
LangChain4j ★ 12.9k Apache-2.0 🟢
Simplifies integration of LLMs with unified APIs and a comprehensive toolbox.
liter-llm ★ 249 MIT 🟢
Provides a Java binding for a unified LLM API client across multiple providers.
MCP Java SDK ★ 3.7k MIT 🟢
Enables applications to interact with AI models and tools through a standardized interface (i.e. Model Context Protocol), supporting both synchronous and asynchronous communication patterns.
Protégé ★ 1.5k 🟠
Provides an ontology editor and a framework to build knowledge-based systems.
Regulus ★ 6 MIT 🟢
Google ADK plugin suite that adds runtime compliance profiles, audit envelopes and GRC adapters for regulated Java AI agents.
simple-openai ★ 382 MIT 🟠
Library to use the OpenAI API (and compatible ones) in the simplest possible way.
Spring AI ★ 9.3k Apache-2.0 🟢
Application framework for AI engineering for Spring.
Spring AI Alibaba ★ 10.7k Apache-2.0 🟢
Agentic AI framework built on Spring AI with model, tool, RAG and workflow integrations.
Frameworks that ease bean mapping.
Immuto ★ 6 🟢
Annotation processor that generates type-safe mapper implementations for Java Records using canonical constructors, with zero runtime reflection.
MapStruct ★ 7.7k 🟢
Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach.
ModelMapper ★ 2.4k Apache-2.0 🟠
Intelligent object mapping library that automatically maps objects to each other.
reMap ★ 128 Apache-2.0 🟢
Lambda and method handle-based mapping which requires code and not annotations if objects have different names.
Libraries and frameworks for building chatbots and messaging-platform bots.
JBot ★ 1.2k GPL-3.0 🟠
Framework for building chatbots.
JDA ★ 4.7k Apache-2.0 🟢
Wrapping of the Discord REST API and its WebSocket events.
Nyagram ★ 9 MIT 🟢
Reactive, type-safe framework for Telegram bots based on Spring Boot 3 and Java 21.
TelegramBots ★ 5.5k MIT 🟢
Java library for building bots with the Telegram Bot API.
Tools that handle the build cycle and dependencies of an application.
Apache Maven ★ 5.3k Apache-2.0 🟢
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 ★ 25.8k Apache-2.0 🟢
Tool from Google that builds code quickly and reliably.
Buck2 ★ 4.4k Apache-2.0 🟢
Encourages the creation of small, reusable modules consisting of code and resources.
Dependency Analysis Gradle Plugin ★ 2.2k Apache-2.0 🟢
Analyzes JVM and Android builds and recommends dependency and plugin changes.
Docker Maven Plugin ★ 1.9k Apache-2.0 🟢
Builds and runs Docker images from Maven.
Eclipse JKube ★ 851 EPL-2.0 🟢
Maven and Gradle plugins for building and deploying Java applications on Kubernetes.
Frontend Maven Plugin ★ 4.4k Apache-2.0 🟢
Installs and runs Node.js frontend tooling from Maven builds.
git-commit-id Maven Plugin ★ 1.7k LGPL-3.0 🟢
Exposes Git revision information to Maven builds and applications.
Gradle ★ 18.8k Apache-2.0 🟢
Incremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management.
jar-cart ★ 4 MIT 🟢
A modern, zero-configuration package manager and runner for the Java ecosystem written in Go, focusing on developer productivity and build speed.
Javadoc Publisher ★ 58 Apache-2.0 🟠
Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page.
Jib ★ 14.4k Apache-2.0 🟢
Builds optimized container images for Java applications without a Docker daemon.
Maven Wrapper ★ 253 Apache-2.0 🟢
Analogue of Gradle Wrapper for Maven, allowing projects to build without a preinstalled Maven.
Polyglot for Maven ★ 922 EPL-1.0 🟢
Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML.
ReleaseRun ★ 1 MIT 🟠
Dependency health checker for pom.xml and Gradle projects that scans for CVEs and outdated packages.
Shadow ★ 4.2k Apache-2.0 🟢
Gradle plugin for creating and transforming executable fat JARs.
Libraries to manipulate bytecode programmatically.
ASM
All-purpose, low-level bytecode manipulation and analysis.
Byte Buddy ★ 6.9k Apache-2.0 🟢
Further simplifies bytecode generation with a fluent API.
bytecode-viewer ★ 15.6k GPL-3.0 🟢
Java 8 Jar & Android APK reverse engineering suite.
Byteman ★ 514 🟢
Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later)
Javassist ★ 4.2k 🟢
Tries to simplify bytecode editing.
Maker ★ 72 Apache-2.0 🟢
Provides low level bytecode generation.
Recaf ★ 7.3k MIT 🟢
JVM reverse engineering toolkit, essentially an IDE for Java bytecode.
Libraries that provide caching facilities.
cache2k ★ 742 Apache-2.0 🔴
In-memory high performance caching library.
Caffeine ★ 17.8k Apache-2.0 🟢
High-performance, near-optimal caching library.
Ehcache ★ 2.1k Apache-2.0 🟠
Distributed general-purpose cache.
Infinispan ★ 1.3k Apache-2.0 🟢
Highly concurrent key/value datastore used for caching.
JetCache ★ 5.6k Apache-2.0 🟢
Java cache framework with local and distributed caching, annotations and asynchronous APIs.
Libraries for everything related to the CLI.
Libraries to assist with parsing command line arguments.
Airline ★ 145 Apache-2.0 🟢
Annotation-based framework for parsing Git-like command-line arguments.
jbock ★ 94 MIT 🟢
Reflectionless command line parser.
JCommander ★ 2.0k Apache-2.0 🟠
Command-line argument-parsing framework with custom types and validation via implementing interfaces.
JLine ★ 1.8k 🟢
Includes features from modern shells like completion or history.
picocli ★ 5.4k Apache-2.0 🟢
ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args.
Libraries that provide TUI frameworks, or building blocks related functions.
AliveJTUI ★ 9 🟠
Declarative, React-style TUI library for building terminal UIs as component trees with diff-based rendering, focus management, and themes.
Jansi ★ 1.2k Apache-2.0 🟠
ANSI escape codes to format console output.
Jexer
Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like Turbo Vision.
Lanterna ★ 2.6k LGPL-3.0 🟢
Easy console text-GUI library, similar to curses.
Libraries to integrate or use cloud-specific features.
AWS SDK for Java 2.x ★ 2.6k Apache-2.0 🟢
Official Java APIs for interacting with Amazon Web Services.
Google Cloud Client Libraries ★ 2.1k Apache-2.0 🟢
Client libraries for accessing Google Cloud services from Java applications.
Java Operator SDK ★ 938 Apache-2.0 🟢
SDK for implementing Kubernetes operators in Java.
Kubernetes Java Client ★ 4.0k Apache-2.0 🟢
Official Java client for the Kubernetes API.
kubernetes-client ★ 3.7k Apache-2.0 🟢
Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL.
minio-java ★ 1.3k Apache-2.0 🟢
Provides simple APIs to access any Amazon S3-compatible object storage server.
Tools that provide metrics and quality measurements.
Checkstyle ★ 9.0k LGPL-2.1 🟢
Static analysis of coding conventions and standards.
Error Prone ★ 7.2k Apache-2.0 🟢
Catches common programming mistakes as compile-time errors.
Error Prone Support ★ 38 MIT 🟢
Error Prone extensions: extra bug checkers and a large battery of Refaster templates.
Infer ★ 15.7k MIT 🟢
Modern static analysis tool for verifying the correctness of code.
JSpecify ★ 1.1k Apache-2.0 🟢
Standardized nullness annotations designed to work uniformly across various Java IDEs, compilers, and static analysis tools.
Modernizer ★ 391 Apache-2.0 🟢
Detect uses of legacy Java APIs.
Mutability Detector ★ 246 Apache-2.0 🟠
Reports whether instances of a given class are immutable.
NullAway ★ 4.1k MIT 🟢
Eliminates NullPointerExceptions with low build-time overhead.
OpenRewrite ★ 3.7k Apache-2.0 🟢
Automates large-scale source-code refactoring through reusable recipes.
OpenTaint ★ 144 Apache-2.0 🟢
Interprocedural taint analyzer for Java and Spring applications with reusable security rules and dependency models.
PMD ★ 5.5k 🟢
Source code analysis for finding bad coding practices.
RefactorFirst ★ 542 Apache-2.0 🟢
Identifies and prioritizes God Classes and Highly Coupled classes.
SonarJava ★ 1.2k 🟢
Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only)
Spoon ★ 2.0k 🟢
Library for analyzing and transforming Java source code.
Spotbugs ★ 3.9k LGPL-2.1 🟢
Static analysis of bytecode to find potential bugs.
ToolsHref ★ 0 🟠
Online Java code analyzer and JSON-to-Mermaid visualization tool.
Frameworks and tools that enable code coverage metrics collection for test suites.
Delta Coverage ★ 41 MIT 🟢
Computes code coverage of new and modified code based on a provided diff, supporting JaCoCo and IntelliJ coverage engines.
JaCoCo ★ 4.6k 🟢
Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation.
OpenClover ★ 70 🟢
Measures Java code coverage through source-code instrumentation, with build-tool and IDE integrations.