Java
Popular secure object-oriented language designed for flexibility to "write once, run anywhere".
Contents
- Architecture
- Artificial Intelligence
- Bean Mapping
- Build
- Bytecode Manipulation
- Caching
- CLI
- Cloud
- Code Analysis
- Code Coverage
- Code Generators
- Computer Vision
- Configuration
- Constraint Satisfaction Problem Solver
- CSV
- Data Structures
- Date and Time
- Decentralization
- Dependency Injection
- Development
- Distributed Applications
- Distributed Transactions
- Distribution
- Document Processing
- Financial
- Formal Verification
- Functional Programming
- Game Development
- Geospatial
- GUI
- High Performance
- HTTP Clients
- Hypermedia Types
- Imagery
- Introspection
- Job Scheduling
- JSON
- JVM and JDK
- Logging
- Machine Learning
- Messaging
- Microservice
- Miscellaneous
- Monitoring
- Native
- Natural Language Processing
- Networking
- ORM
- Pathfinding
- Performance analysis
- Other
- Apache Commons
- Processes
- Reactive libraries
- REST Frameworks
- Science
- Search
- Security
- Serialization
- Template Engine
- Frameworks
- Matchers
- Utility
- Version Managers
- Web Crawling
- Web Frameworks
- Workflow Orchestration Engines
- Mocking
Projects
Architecture
Artificial Intelligence
Simplifies integration of LLMs with unified APIs and a comprehensive toolbox.
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.
Bean Mapping
Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy.
Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration.
Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach.
Intelligent object mapping library that automatically maps objects to each other.
JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another.
Build
Bytecode Manipulation
CLI
Cloud
Code Analysis
Static analysis of coding conventions and standards. (LGPL-2.1-or-later)
Error Prone extensions: extra bug checkers and a large battery of Refaster templates.
Code Coverage
Code Generators
Annotation processor for automatic DTO and Mapper generation with zero boilerplate.
Discovers files that need generated code, updates automatically and writes to the source with a convenient API.
Configuration
Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2.
Configuration library supporting Java properties, JSON or its human optimized superset HOCON.
Configuration library with support for various configuration formats and transformations.
Simple, lightweight, yet powerful configuration library which supports resolution of properties from external sources such as files, databases, git repositories, and any custom sources, plus an extensible post-processing/conversion mechanism.
Constraint Satisfaction Problem Solver
CSV
Data Structures
Date and Time
Decentralization
Dependency Injection
Development
Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods.
Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations.
Distributed Applications
Circuit breaker design pattern for Dropwizard. (GPL-2.0-only)
High-performance reverse proxy server with specialized session management and credential replay functionality.
Distributed Transactions
Distribution
Binary artifact management toolkit which hosts them on the file system or S3.
Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers.
System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start.
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.
Document Processing
Financial
Formal Verification
Functional Programming
Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more.
Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only)
Gatherers library for Java Stream API. Gatherers can enhance streams with custom intermediate operations.
Game Development
Geospatial
GUI
High Performance
HTTP Clients
Hypermedia Types
Imagery
Generates QR Code, DataMatrix, and other 1D/2D barcodes as vector (PDF, EPS, SVG) and raster (PNG, BMP, JPG) images with DPI awareness, high precision, and CMYK color model support.
Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D.
Collection of plugins that extend the number of supported image file formats.
Library that compares 2 images with the same sizes and shows the differences visually by drawing rectangles. Some parts of the image can be excluded from the comparison.
Introspection
ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages.
jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package.
Job Scheduling
Job scheduling library which utilizes lambdas for fire-and-forget, delayed and recurring jobs. Guarantees execution by single scheduler instance using optimistic locking. Has features for persistence, minimal dependencies and is embeddable.
Feature-rich, open source job scheduling library that can be integrated within virtually any Java application.
Lightweight framework to simply define jobs, define triggers and start the scheduler.
JSON
Serializes objects to JSON and vice versa. Good performance with on-the-fly usage.
Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types.
Similar to GSON, but offers performance gains if you need to instantiate the library more often.
Convert Java to JSON/TOON and back. Supports complex object graphs, cyclic references, and TOON format for 40-50% LLM token savings.
Modern JSON library, less opinionated and uses built-in types like List and Map.
Very fast processor with no additional dependencies and full data binding.
JVM and JDK
Downstream version of OpenJDK optimized for online e-commerce, financial, logistics applications.
High performance, enterprise-calibre, flexibly licensed, openly-governed cross-platform JVM extending and augmenting the runtime technology components from the Eclipse OMR and OpenJDK project.
Logging
API designed around structured logging, rich context, and conditional logging. There are Logback and Log4J2 implementations, but Echopraxia's API is completely dependency-free, meaning it can be implemented with any logging API.
Machine Learning
Seamlessly integrate with remote deep learning and language models programmatically.
Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only)
A lightweight, platform independent, OpenCL accelerated nd-array/tensor library.
Messaging
Microservice
Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC.
Client for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service.
Modernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX.
Miscellaneous
Implementation and explanation of the most common design patterns.
No-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. (No explicit license)
Wrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API.
A small library that contains a representation object of ISBN-10 and ISBN-13 and tools to parse, validate and format one.
An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features.
Analogue of Gradle Wrapper for Maven, allows building projects without installing maven.
High performance HTTP proxy atop Netty's event-based networking library.
Browser extension which allows to navigate through code on GitHub more efficiently.
Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML.
RR4J is a tool that records java bytecode execution and later allows developers to replay locally.
Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later)
Library for using built-in and external webcams directly in Java.
Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery.
Monitoring
Simple, privacy-focused API monitoring, analytics and request logging for Spring Boot apps.
Spring Boot Actuator extension providing application startup and runtime metrics including JVM uptime, memory usage, and CPU load.
Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment.
Connect to multiple JVMs and query them for their attributes via JMX. Its query language is based on JSON, which allows non-Java programmers to access the JVM attributes. Supports different output writes, including Graphite, Ganglia, and StatsD.
Vendor-neutral metrics/observability facade for the most popular metrics/observability libraries.
Vendor-neutral distributed tracing facade for the most popular tracer libraries.
Remote developer console from the browser for Java 8 via bytecode injection.
Instrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior.
Provides a multi-dimensional data model, DSL, autonomous server nodes and much more.
Integration with Sentry, an application error tracking and performance analysis platform.
Native
Work with native libraries without writing JNI. Also provides interfaces to common system libraries.
Natural Language Processing
Networking
Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo.
Easy-to-use, annotation-based library for creating Thrift clients and serializable types.
Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms.
ORM
Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL.
A powerful enhanced toolkit of MyBatis for simplifying development.
Pathfinding
Performance analysis
Other
Apache Commons
Byte Code Engineering Library - analyze, create, and manipulate Java class files.
Easy-to-use wrappers around the Java reflection and introspection APIs.
Bean Scripting Framework - interface to scripting languages, including JSR-223.
Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another.
API for dealing with external process execution and environment management in Java.
Function that can be manipulated as an object, or an object representing a single, generic function.
Adds the feature of localized message bundles that consist of one or many localized texts that belong together.
Monitoring aims to provide a simple but extensible monitoring solution for Java applications.
Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language.
Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool.
Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects.
Common implementation of RDF 1.1 that could be implemented by systems on the JVM.
Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine.
Processes
Reactive libraries
REST Frameworks
Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics.
Convenient, extensible microservices plugin system for Spring & Spring Boot. With more than 30 plugins and growing, it supports both micro-monolith and pure microservices styles.
Framework for building robust, scalable RESTful architectures using typesafe bindings and asynchronous, non-blocking IO with an end-to-end developer workflow that promotes clean practices, uniform interface design and consistent data modeling.
Allows generation of API client libraries, SDKs, server stubs, documentation and configuration automatically given an OpenAPI Spec.
Pioneering framework with powerful routing and filtering capabilities, and a unified client and server API.
Science
Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets.
Graph library that provides mathematical graph-theory objects and algorithms.
Library for visualizing (mainly Swing) and interacting with node-edge graphs.
jSciPy is a Java library designed for scientific computing, offering functionalities inspired by popular scientific computing libraries. It currently provides modules for signal processing, including Butterworth filters, peak finding algorithms, and an RK4 solver for ordinary differential equations.
Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas.
Library for geophysical scientific computation, visualization and digital signal analysis.
Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM.
Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only)
Security
High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS.
Detects publicly disclosed vulnerabilities contained within a project's dependencies.
Runtime application that repels application security risks included in the OWASP Top 10, including SQL injection, cross-site scripting, cross-site request forgery, data tampering, and brute force attacks.
Easily create and parse JSON Web Tokens and create customized JWT validators using a fluent API.
Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security.
One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP).
User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions.
Fluent Builder API for JCA and JSSE classes and especially X.509 certificates.
Serialization
Template Engine
Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling.
Compiles to classes, and uses an easy syntax, several features to make development easier and provides fast execution and a small footprint.
Frameworks
Utility
Allows to troubleshoot production issues for applications without modifying code or restarting servers.
Generates postman collection, environment and integration tests from java code.
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.
Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services.
Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService.
Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only)
Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more.
Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page.
Library that helps with constructing difficult regular expressions.
Provides simple APIs to access any Amazon S3-compatible object storage server.
Lightweight library that helps you handling semantic versioning with different modes.
Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page.
Zero-dependency, high-performance utilities featuring Converter (universal type conversion), DeepEquals, CaseInsensitiveMap, TTLCache, CompactMap, MultiKeyMap, and object graph traversal.
Reads a Java project and generates a structured context file so AI tools can understand and help plan the codebase.
Version Managers
Web Crawling
Web Frameworks
Workflow Orchestration Engines
Database
Efficient, in-memory (opt. persisted to disk), off-heap key-value store.
Brings metrics and failover strategies to the most common connection pooling solutions.
Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ).
Launcher for MariaDB that requires no installation or external dependencies.
LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities.
High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST.
Allows for distributed and scalable data structures on top of a Redis server.
Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform.
Database access library that utilizes Java 8's Stream API for querying.
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.
Allows you to use MongoDB query language to query your relational database.
Highly concurrent transactional schema-less and ACID-compliant embedded database.
Testing
Asynchronous
BDD
Provides a way to describe features in a plain language which customers can understand.
Collection of Gherkin steps for REST-service testing using Cucumber.
Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English.
Fixtures
Supports generating test data or combining scenarios for parameterized tests.
Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension.