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: 12 days ago
JSON representation

Projects

  • ArchUnit - 2.0 🟢Test library for specifying and asserting architecture rules.
  • jMolecules - 2.0 🟠Annotations and interfaces to express design and architecture concepts in code.
  • MapStruct - over-configuration approach.
  • ModelMapper - 2.0 🟠Intelligent object mapping library that automatically maps objects to each other.
  • reMap - 2.0 🟢Lambda and method handle-based mapping which requires code and not annotations if objects have different names.
  • Buck2 - 2.0 🟢Encourages the creation of small, reusable modules consisting of code and resources.
  • bytecode-viewer - 3.0 🟢Java 8 Jar & Android APK reverse engineering suite.
  • Javassist
  • Maker - 2.0 🟢Provides low level bytecode generation.
  • Caffeine - 2.0 🟢High-performance, near-optimal caching library.
  • jbock
  • JLine
  • Jansi - 2.0 🟠ANSI escape codes to format console output.
  • Lanterna - 3.0 🟢Easy console text-GUI library, similar to curses.
  • Checkstyle - 2.1 🟢Static analysis of coding conventions and standards.
  • Error Prone - 2.0 🟢Catches common programming mistakes as compile-time errors.
  • Error Prone Support
  • Infer
  • NullAway - time overhead.
  • PMD
  • SonarJava - 3.0-only)
  • Spoon
  • Spotbugs - 2.1 🟢Static analysis of bytecode to find potential bugs.
  • Auto - 2.0 🟢Generates factory, service, and value classes.
  • Geci - 2.0 🟠Discovers files that need generated code, updates automatically and writes to the source with a convenient API.
  • JHipster - 2.0 🟢Yeoman source code generator for Spring Boot and AngularJS.
  • Record-Builder - 2.0 🟢Companion builder class, withers and templates for Java records.
  • JavaCV
  • centraldogma - 2.0 🟢Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2.
  • config
  • Configurate - 2.0 🟢Configuration library with support for various configuration formats and transformations.
  • dotenv - factor configuration library which uses environment-specific files.
  • Externalized Properties - 2.0 🟢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.
  • Gestalt - 2.0 🟢Gestalt offers a comprehensive solution to the challenges of configuration management. It allows you to source configuration data from multiple inputs, merge them intelligently, and present them in a structured, type-safe manner.
  • LangChain4j - 2.0 🟢Simplifies integration of LLMs with unified APIs and a comprehensive toolbox.
  • MCP Java SDK
  • Google Cloud Client Libraries - 2.0 🟢Client libraries for accessing Google Cloud services from Java applications.
  • simple-openai
  • EasyEntityToDTO
  • JSpecify Package-Info Generator - 2.0 🟠Maven plugin that automatically generates package-info.java files with JSpecify annotations (@NullMarked and @NullUnmarked), helping you manage nullness boundaries in your Java projects without manual boilerplate.
  • RefactorFirst - 2.0 🟢Identifies and prioritizes God Classes and Highly Coupled classes.
  • KAConf - 2.0 🔴Annotation-based configuration system for Java and Kotlin.
  • JaCoP - 3.0)
  • FastCSV - optimized, dependency-free and RFC 4180 compliant.
  • Persistent Collection
  • Protobuf
  • RoaringBitmap - 2.0 🟢Fast and efficient compressed bitmap.
  • Wire - 2.0 🟢Clean, lightweight protocol buffers.
  • ArangoDB - 2.0 🟢ArangoDB Java driver.
  • Chronicle Map - 2.0 🟢Efficient, in-memory (opt. persisted to disk), off-heap key-value store.
  • eXist - 2.1 🟢NoSQL document database and application platform.
  • FlexyPool - 2.0 🟠Brings metrics and failover strategies to the most common connection pooling solutions.
  • HikariCP - 2.0 🟠High-performance JDBC connection pool.
  • Jinq
  • MariaDB4j - 2.0 🟢Launcher for MariaDB that requires no installation or external dependencies.
  • Modality - 2.0 🟢Lightweight ORM with database reverse engineering features.
  • OpenDJ
  • QueryStream - 2.0 🔴Build JPA Criteria queries using a Stream-like API.
  • QuestDB - 2.0 🟢High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST.
  • Realm - 2.0 🔴Mobile database to run directly inside phones, tablets or wearables.
  • Redisson - 2.0 🟢Allows for distributed and scalable data structures on top of a Redis server.
  • requery - 2.0 🟠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.
  • Spring Data JPA MongoDB Expressions - 2.0 🟠Allows you to use MongoDB query language to query your relational database.
  • Xodus - 2.0 🟢Highly concurrent transactional schema-less and ACID-compliant embedded database.
  • CosId - 2.0 🟢Universal, flexible, high-performance distributed ID generator.
  • Apache ShardingSphere - 2.0 🟢Distributed SQL transaction & query engine that allows for data sharding, scaling, encryption, and more on any database.
  • iCal4j - 3-Clause 🟢Parse and build iCalendar 🌎 RFC 5545 data models.
  • ThreeTen-Extra - 3-Clause 🟢Additional date-time classes that complement those in JDK 8.
  • Time4J - 2.1 🔴Advanced date and time library.
  • java-tron - 3.0 🟢Implementation of the Tron Protocol, whic utilizes blockchains to develop decentralized applications.
  • Governator - 2.0 🟠Extensions and utilities that enhance Google Guice.
  • Guice - 2.0 🟢Lightweight and opinionated framework that completes Dagger.
  • Faux Pas
  • HotswapAgent - 2.0 🟢Unlimited runtime class and resource redefinition.
  • JavaParser
  • Manifold - 2.0 🟢Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods.
  • SneakyThrow
  • Dropwizard Circuit Breaker - 2.0 🟠Circuit breaker design pattern for Dropwizard.
  • Hazelcast - memory datagrid with a free open-source version.
  • resilience4j - 2.0 🟢Functional fault tolerance library.
  • OpenIG - performance reverse proxy server with specialized session management and credential replay functionality.
  • ScaleCube Services - 2.0 🟢Embeddable Cluster-Membership library based on SWIM and gossip protocol.
  • Zuul - 2.0 🟢Gateway service that provides dynamic routing, monitoring, resiliency, security, and more.
  • Artipie
  • Getdown - user computers and keeping them up to date. Developed as an alternative to Java Web Start.
  • JavaPackager - 3.0 🟠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.
  • jlink.online - 2.0 🟢Builds optimized runtimes over HTTP.
  • packr - 2.0 🔴Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS.
  • really-executable-jars-maven-plugin - 2.0 🟠Maven plugin for making self-executing JARs.
  • fastexcel
  • zerocell - 2.0 🔴Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead.
  • Cassandre - 3.0 🔴Trading bot framework.
  • Philadelphia - 2.0 🟢Low-latency financial information exchange.
  • Stripe
  • ta4j
  • Java Path Finder (JPF)
  • jOOλ - 2.0 🔴Extension to Java 8 that aims to fix gaps in lambda by providing numerous missing types and a rich set of sequential Stream API additions.
  • Packrat - 2.0 🟢Gatherers library for Java Stream API. Gatherers can enhance streams with custom intermediate operations.
  • protonpack
  • StreamEx - 2.0 🟢Enhances Java 8 Streams.
  • vulkan4j - 3-Clause 🔴Vulkan, OpenGL ES2 and GLFW Memory Allocator bindings.
  • Geo - 2.0 🟢GeoHash utilities in Java.
  • GraphHopper - 2.0 🟢Road-routing engine. Used as a Java library or standalone web service.
  • Mapsforge - 3.0 🟢Map rendering based on OpenStreetMap data.
  • Spatial4j - purpose spatial/geospatial library.
  • SnapKit
  • JCTools - 2.0 🟢Concurrency tools currently missing from the JDK.
  • Async Http Client - 2.0 🟢Asynchronous HTTP and WebSocket client library.
  • Feign - 2.0 🟢HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket.
  • Google HTTP Client - 2.0 🟢Pluggable HTTP transport abstraction with support for java.net.HttpURLConnection, Apache HTTP Client, Android, Google App Engine, XML, Gson, Jackson and Protobuf.
  • methanol
  • Ribbon - 2.0 🟠Client-side IPC library that is battle-tested in the cloud.
  • Riptide - side response routing for Spring's RestTemplate.
  • unirest-java
  • hate - friendly objects according to HAL specification.
  • Spring HATEOAS - 2.0 🟢Standalone and Spring support for building hypermedia-based APIs using HAL, HAL FORMS, Collection+JSON, ALPS and UBER.
  • Barcode-Lib4J - 2.0 🟢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.
  • Imgscalr - 2.0 🔴Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D.
  • Tess4J - 2.0 🟢JNA wrapper for Tesseract OCR API.
  • Thumbnailator - quality thumbnail generation library.
  • TwelveMonkeys - 3-Clause 🟢Collection of plugins that extend the number of supported image file formats.
  • ZXing - 2.0 🟢Multi-format 1D/2D barcode image processing library.
  • image-comparison - 2.0 🟢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.
  • vips-ffm - 2.0 🟢Comprehensive bindings for libvips, using Java's "Foreign Function & Memory" API.
  • ClassGraph - fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages.
  • jOOR - 2.0 🔴jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package.
  • ReflectASM - 3-Clause 🔴ReflectASM is a very small Java library that provides high performance reflection by using code generation.
  • JobRunr - and-forget, delayed and recurring jobs. Guarantees execution by single scheduler instance using optimistic locking. Has features for persistence, minimal dependencies and is embeddable.
  • Quartz - 2.0 🟢Feature-rich, open source job scheduling library that can be integrated within virtually any Java application.
  • Sundial - 2.0 🟠Lightweight framework to simply define jobs, define triggers and start the scheduler.
  • Wisp - 2.0 🟠Simple library with minimal footprint and straightforward API.
  • db-scheduler - 2.0 🟢Persistent and cluster-friendly scheduler.
  • easy-batch
  • shedlock - 2.0 🟢Makes sure that your scheduled tasks are executed at most once at the same time. If a task is being executed on one node, it acquires a lock which prevents execution of the same task from another node or thread.
  • DSL-JSON - 3-Clause 🟢JSON library with advanced compile time databinding.
  • Gson - 2.0 🟢Serializes objects to JSON and vice versa. Good performance with on-the-fly usage.
  • jackson-modules-java8 - 2.0 🟢Set of Jackson modules for Java 8 datatypes and features.
  • Jackson
  • JSON-io - 2.0 🟢Convert Java to JSON/TOON and back. Supports complex object graphs, cyclic references, and TOON format for 40-50% LLM token savings.
  • Moshi - 2.0 🟢Modern JSON library, less opinionated and uses built-in types like List and Map.
  • Yasson
  • Jolt - 2.0 🟢JSON to JSON transformation tool.
  • JsonPath - 2.0 🟠Extract data from JSON using XPATH-like syntax.
  • Graal - 2.0-only WITH Classpath-exception-2.0)
  • Microsoft JDK
  • Echopraxia - free, meaning it can be implemented with any logging API.
  • Logbook - source library for HTTP request and response logging.
  • JSAT - 3.0 🔴Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution.
  • Neureka - array/tensor library.
  • Siddhi - 2.0 🟠Cloud native streaming and complex event processing engine.
  • Smile
  • JeroMQ - 2.0 🟠Implementation of ZeroMQ.
  • RabbitMQ Java client
  • Smack - 2.0 🟢Cross-platform XMPP client library.
  • NATS client - 2.0 🟢NATS client.
  • Armeria - 2.0 🟢Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC.
  • Eureka - 2.0 🟢REST-based service registry for resilient load balancing and failover.
  • kubernetes-client - 2.0 🟢Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL.
  • Sentinel - 2.0 🟠Flow control component enabling reliability, resilience and monitoring for microservices.
  • FF4J - 2.0 🟢Feature Flags for Java.
  • IP2Location.io Java SDK
  • ISBN core - 10 and ISBN-13 and tools to parse, validate and format one.
  • J2ObjC - to-Objective-C translator for porting Android libraries to iOS.
  • JBot - 3.0 🟠Framework for building chatbots.
  • JEmoji - 2.0 🟢An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features.
  • Jimfs - 2.0 🟢In-memory file system.
  • MinimalFTP - 2.0 🔴Lightweight, small and customizable FTP server.
  • Modernizer - 2.0 🟢Detect uses of legacy Java APIs.
  • PipelinR
  • Polyglot for Maven - 1.0 🟢Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML.
  • RR4J - 3.0 🔴RR4J is a tool that records java bytecode execution and later allows developers to replay locally.
  • Simple Java Mail - 2.0 🟢Mailing with a clean and fluent API.
  • Smooks - based message processing. (Apache-2.0 OR LGPL-3.0-or-later)
  • Svix
  • TypeTools - 2.0 🔴Tools for resolving generic types.
  • webcam-capture - in and external webcams directly in Java.
  • XMLBeam - 2.0 🔴Processes XML by using annotations or XPath within code.
  • yGuard
  • Apitally - focused API monitoring, analytics and request logging for Spring Boot apps.
  • Automon - 2.0 🔴Combines the power of AOP with monitoring and/or logging tools.
  • Datadog - 2.0 🟢Modern monitoring & analytics.
  • Dropwizard Metrics - 2.0 🟢Expose metrics via JMX or HTTP and send them to a database.
  • HertzBeat - 2.0 🟢Real-time monitoring system with custom-monitor and agentless.
  • hippo4j - 2.0 🟠Dynamic and observable thread pool framework.
  • JavaMelody - 2.0 🟢Performance monitoring and profiling.
  • Micrometer - 2.0 🟢Vendor-neutral metrics/observability facade for the most popular metrics/observability libraries.
  • Micrometer Tracing - 2.0 🟢Vendor-neutral distributed tracing facade for the most popular tracer libraries.
  • OpenTelemetry - 2.0 🟢Instrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior.
  • Prometheus - 2.0 🟢Provides a multi-dimensional data model, DSL, autonomous server nodes and much more.
  • Sentry
  • SPM - 2.0 🟢Performance monitor with distributing transaction tracing for JVM apps.
  • JavaCPP
  • JNA
  • JNR
  • native-lib-loader
  • Hypherator - like interface. Can be used out-of-the box - dictionaries for multiple languages are bundled in.
  • Commons-networking - 2.0 🔴Client for server-sent events (SSE).
  • Dubbo - 2.0 🟢High-performance RPC framework.
  • gRPC-java - 2.0 🟢RPC framework based on protobuf and HTTP/2.
  • Drift - 2.0 🟢Easy-to-use, annotation-based library for creating Thrift clients and serializable types.