# Java

  • GitHub Toweave's Awesome. Don't skimp on your's star. (opens new window)
  • A curated list of Java frameworks, libraries, software and resources.
  • Inspired by Awesome.
  • If you see a package or project here that is no longer maintained or is not a good fit, please submit a issue to improve this file. Thank you!
  • Last Sync Time: Mon Aug 08 2022 10:51:49 GMT+0800 (中国标准时间)
  • Synchronize Every Week.

# Order by alphabetical and star count.


# Awesome Java

  • A curated list of awesome Java frameworks, libraries, software and resources.

# Bean Mapping

  • Frameworks that ease bean mapping.
Repository StarCount Description RecentlyUpdated
mapstruct (opens new window) 5454 An annotation processor for generating type-safe bean mappers 6 days ago
modelmapper (opens new window) 2025 Intelligent object mapping 3 days ago
orika (opens new window) 1196 Simpler, better and faster Java bean mapping framework a month ago
selma (opens new window) 208 Selma Java bean mapping that compiles 3 years ago
jmapper-core (opens new window) 194 Elegance, high performance and robustness all in one java bean mapper 6 months ago
remap (opens new window) 100 A declarative mapping library to simplify testable object mappings. 3 months ago
doov (opens new window) 76 dOOv (Domain Object Oriented Validation) a fluent API for type-safe bean validation and mapping 6 months ago

# Bytecode Manipulation

  • Libraries to manipulate bytecode programmatically.
Repository StarCount Description RecentlyUpdated
bytecode-viewer (opens new window) 13169 A Java 8+ Jar & Android APK Reverse Engineering Suite (Decompiler, Editor, Debugger & More) 3 days ago
cglib (opens new window) 4429 cglib - Byte Code Generation Library is high level API to generate and transform Java byte code. It is used by AOP, testing, data access frameworks to generate dynamic proxy objects and intercept field access. 3 months ago
javassist (opens new window) 3596 Java bytecode engineering toolkit a day ago
Mixin (opens new window) 963 Mixin is a trait/mixin and bytecode weaving framework for Java using ASM 6 days ago
perses (opens new window) 57 A project to cause (controlled) destruction on your jvm application a year ago

# CLI

  • Libraries for everything related to the CLI.
Repository StarCount Description RecentlyUpdated
lanterna (opens new window) 1903 Java library for creating text-based GUIs a month ago
jline3 (opens new window) 1096 JLine is a Java library for handling console input. 22 days ago
jansi (opens new window) 924 Jansi is a small java library that allows you to use ANSI escape sequences to format your console output which works even on windows. 2 months ago
airline (opens new window) 845 Java annotation-based framework for parsing Git like command line structures 3 months ago
asciitable (opens new window) 397 Several implementations of a text table, originally using ASCII and UTF-8 characters for borders. 4 years ago
text-io (opens new window) 285 A library for creating interactive console applications in Java 5 months ago
java-ascii-render (opens new window) 135 ASCII renderer in pure java with no external dependencies 2 years ago
jbock (opens new window) 70 Reflectionless command line parser 15 days ago

# Code Analysis

  • Tools that provide metrics and quality measurements.
Repository StarCount Description RecentlyUpdated
infer (opens new window) 13441 A static analyzer for Java, C, C++, and Objective-C 2 days ago
checkstyle (opens new window) 7199 Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard. By default it supports the Google Java Style Guide and Sun Code Conventions, but is highly configurable. It can be invoked with an ANT task and a command line program. 34 minutes ago
error-prone (opens new window) 6040 Catch common Java mistakes as compile-time errors 2 days ago
pmd (opens new window) 3943 An extensible multilanguage static code analyzer. a day ago
NullAway (opens new window) 3152 A tool to help eliminate NullPointerExceptions (NPEs) in your Java code with low build-time overhead 2 days ago
spotbugs (opens new window) 2792 SpotBugs is FindBugs' successor. A tool for static analysis to look for bugs in Java code. 2 days ago
spoon (opens new window) 1362 Spoon is a metaprogramming library to analyze and transform Java source code. 🥄 is made with ❤️, 🍻 and ✨. It parses source files to build a well-designed AST with powerful analysis and transformation API. 12 hours ago
sonar-java (opens new window) 921 ☕️ SonarSource Static Analyzer for Java Code Quality and Security 2 days ago

# Code Generators

  • Tools that generate patterns for repetitive code in order to reduce verbosity and error-proneness.
Repository StarCount Description RecentlyUpdated
generator-jhipster (opens new window) 19800 JHipster is a development platform to quickly generate, develop, & deploy modern web applications & microservice architectures. 2 hours ago
auto (opens new window) 9816 A collection of source code generators for Java. 2 days ago
javapoet (opens new window) 9738 A Java API for generating .java source files. 7 days ago
FreeBuilder (opens new window) 797 Automatic generation of the Builder pattern for Java 5 months ago
adt4j (opens new window) 134 adt4j - Algebraic Data Types for Java 4 years ago

# Computer Vision

  • Libraries which seek to gain high level information from images and videos.
Repository StarCount Description RecentlyUpdated
javacv (opens new window) 6078 Java interface to OpenCV, FFmpeg, and more 4 days ago

# Configuration

  • Libraries that provide external configuration.
Repository StarCount Description RecentlyUpdated
config (opens new window) 5699 configuration library for JVM languages using HOCON files 3 months ago
owner (opens new window) 861 Get rid of the boilerplate code in properties based configuration. 2 months ago
cfg4j (opens new window) 546 Modern configuration library for distributed apps written in Java. 25 days ago
centraldogma (opens new window) 477 Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2 3 days ago
Configurate (opens new window) 251 A simple configuration library for Java applications providing a node structure, a variety of formats, and tools for transformation 4 days ago
kaconf (opens new window) 51 KickAss Configuration. An annotation-based configuration system for Java and Kotlin 9 days ago
dotenv (opens new window) 41 A twelve-factor configuration (12factor.net/config) library for Java 8+ 5 years ago

# Constraint Satisfaction Problem Solver

  • Libraries that help with implementing optimization and satisfiability problems.
Repository StarCount Description RecentlyUpdated
jacop (opens new window) 193 Java Constraint Programming solver 8 months ago

# CSV

  • Frameworks and libraries that simplify reading/writing CSV data.
Repository StarCount Description RecentlyUpdated
univocity-parsers (opens new window) 844 uniVocity-parsers is a suite of extremely fast and reliable parsers for Java. It provides a consistent interface for handling different file formats, and a solid framework for the development of new parsers. 4 months ago
FastCSV (opens new window) 387 High performance CSV reader and writer for Java. 2 months ago

# Data Structures

  • Efficient and specific data structures.
Repository StarCount Description RecentlyUpdated
protobuf (opens new window) 55667 Protocol Buffers - Google's data interchange format a day ago
wire (opens new window) 3826 gRPC and protocol buffers for Android, Kotlin, and Java. 2 hours ago
RoaringBitmap (opens new window) 2719 A better compressed bitset in Java 2 days ago
simple-binary-encoding (opens new window) 2675 Simple Binary Encoding (SBE) - High Performance Message Codec 11 days ago
tape (opens new window) 2409 A lightning fast, transactional, file-based FIFO for Android and Java. 11 days ago
pcollections (opens new window) 694 A Persistent Java Collections Library 24 days ago
bigqueue (opens new window) 507 A big, fast and persistent queue based on memory mapped file. 13 days ago
HyperMinHash-java (opens new window) 47 Union, intersection, and set cardinality in loglog space 7 months ago

# Database

  • Everything that simplifies interactions with the database.
Repository StarCount Description RecentlyUpdated
redisson (opens new window) 19539 Redisson - Redis Java client with features of In-Memory Data Grid. Over 50 Redis based Java objects and services: Set, Multimap, SortedSet, Map, List, Queue, Deque, Semaphore, Lock, AtomicLong, Map Reduce, Publish / Subscribe, Bloom filter, Spring Cache, Tomcat, Scheduler, JCache API, Hibernate, MyBatis, RPC, local cache ... 3 days ago
HikariCP (opens new window) 17080 光 HikariCP・A solid, high-performance, JDBC connection pool at last. 13 days ago
realm-java (opens new window) 11308 Realm is a mobile database: a replacement for SQLite & ORMs 2 days ago
jedis (opens new window) 10585 Redis Java client designed for performance and ease of use. 11 hours ago
Leaf (opens new window) 5510 Distributed ID Generate Service 2 months ago
requery (opens new window) 3103 requery - modern SQL based query & persistence for Java / Kotlin / Android 5 months ago
Chronicle-Map (opens new window) 2454 Replicate your Key Value Store across your network, with consistency, persistance and performance. 5 days ago
Jest (opens new window) 2111 Elasticsearch Java Rest Client. 8 months ago
speedment (opens new window) 2012 Speedment is a Stream ORM Java Toolkit and Runtime 13 days ago
xodus (opens new window) 1011 Transactional schema-less embedded database used by JetBrains YouTrack and JetBrains Hub. 3 days ago
flexy-pool (opens new window) 949 FlexyPool adds metrics and failover strategies to a given Connection Pool, allowing it to resize on demand. 6 months ago
MariaDB4j (opens new window) 696 MariaDB Embedded in Java JAR a day ago
Jinq (opens new window) 638 LINQ-style queries for Java 8 5 months ago
exist (opens new window) 352 eXist Native XML Database and Application Platform 14 hours ago
arangodb-java-driver (opens new window) 188 The official ArangoDB Java driver. 5 days ago
jetcd (opens new window) 134 Java binding for etcd 2 months ago
modality (opens new window) 11 Model Layer Implementation for a J2EE Pull MVC WebApp 7 days ago
querystream (opens new window) 11 Build JPA Criteria queries using a Stream-like API 2 months ago

# Date and Time

  • Libraries related to handling date and time.
Repository StarCount Description RecentlyUpdated
ical4j (opens new window) 596 A Java library for parsing and building iCalendar data models a day ago
Time4J (opens new window) 372 Advanced date, time and interval library for Java with sun/moon-astronomy and calendars like Chinese, Coptic, Ethiopian, French Republican, Hebrew, Hijri, Historic Christian, Indian National, Japanese, Julian, Korean, Minguo, Persian, Thai, Vietnamese 2 months ago
threeten-extra (opens new window) 345 Provides additional date-time classes that complement those in JDK 8 an hour ago

# Dependency Injection

Repository StarCount Description RecentlyUpdated
guice (opens new window) 11356 Guice (pronounced 'juice') is a lightweight dependency injection framework for Java 8 and above, brought to you by Google. 6 days ago
governator (opens new window) 807 Governator is a library of extensions and utilities that enhance Google Guice to provide: classpath scanning and automatic binding, lifecycle management, configuration to field mapping, field validation and parallelized object warmup. 9 months ago
feather (opens new window) 334 Lightweight dependency injection for Java and Android (JSR-330) 4 years ago
jaywire (opens new window) 52 JayWire Dependency Injection a year ago

# Development

  • Augmentation of the development process at a fundamental level.
Repository StarCount Description RecentlyUpdated
javaparser (opens new window) 4294 Java 1-15 Parser and Abstract Syntax Tree for Java, including preview features to Java 13 3 days ago
HotswapAgent (opens new window) 1855 Java unlimited redefinition of classes at runtime. a month ago
manifold (opens new window) 1306 Manifold is a Java compiler plugin, its features include Metaprogramming, Properties, Extension Methods, Operator Overloading, Templates, a Preprocessor, and more. 6 days ago
javasymbolsolver (opens new window) 286 old repository --> this is now integrated in https://github.com/javaparser/javaparser 5 years ago
faux-pas (opens new window) 114 A library that simplifies error handling for Functional Programming in Java 12 days ago
sneakythrow (opens new window) 72 SneakyThrow is a Java library to ignore checked exceptions 3 years ago

# Distributed Applications

  • Libraries and frameworks for writing distributed and fault-tolerant applications.
Repository StarCount Description RecentlyUpdated
zuul (opens new window) 12092 Zuul is a gateway service that provides dynamic routing, monitoring, resiliency, security, and more. 4 days ago
resilience4j (opens new window) 8184 Resilience4j is a fault tolerance library designed for Java8 and functional programming 6 days ago
hazelcast (opens new window) 4949 Open-source distributed computation and storage platform an hour ago
failsafe (opens new window) 3777 Fault tolerance and resilience patterns for the JVM an hour ago
scalecube-services (opens new window) 549 a microservices library - scalecube-services is a high throughput, low latency reactive microservices library built to scale. it features: API-Gateways, service-discovery, service-load-balancing, the architecture supports plug-and-play service communication modules and features. built to provide performance and low-latency real-time stream-processing. its open and designed to accommodate changes. (no sidecar in a form of broker or any kind) 2 months ago
dropwizard-circuitbreaker (opens new window) 41 A circuit breaker design pattern for dropwizard 3 years ago

# Distributed Transactions

  • Distributed transactions provide a mechanism for ensuring consistency of data updates in the presence of concurrent access and partial failures.
Repository StarCount Description RecentlyUpdated
seata (opens new window) 22589 🔥 Seata is an easy-to-use, high-performance, open source distributed transaction solution. 14 hours ago
btm (opens new window) 397 JTA Transaction Manager 2 years ago

# Distribution

  • Tools that handle the distribution of applications in native formats.
Repository StarCount Description RecentlyUpdated
packr (opens new window) 2381 Packages your JAR, assets and a JVM for distribution on Windows, Linux and Mac OS X a month ago
capsule (opens new window) 1145 Dead-Simple Packaging and Deployment for JVM Apps 2 months ago
JavaPackager (opens new window) 573 📦 Gradle/Maven plugin to package Java applications as native Windows, Mac OS X, or GNU/Linux executables and create installers for them. 17 hours ago
getdown (opens new window) 459 Download, Install, Update 6 days ago
artipie (opens new window) 264 Binary Artifact Management Tool 3 days ago
really-executable-jars-maven-plugin (opens new window) 112 maven plugin for making chmod +x jar files a month ago
jlink.online (opens new window) 1 Build optimized Java runtimes in your browser! 2 years ago

# Document Processing

  • Libraries that assist with processing office document formats.
Repository StarCount Description RecentlyUpdated
fastexcel (opens new window) 403 Generate and read big Excel files quickly 11 days ago
zerocell (opens new window) 66 Simple, efficient Excel to POJO library for Java 7 months ago

# Financial

  • Libraries related to the financial domain.
Repository StarCount Description RecentlyUpdated
ta4j (opens new window) 1565 A Java library for technical analysis. a month ago
stripe-java (opens new window) 618 Java library for the Stripe API. 3 days ago
parity (opens new window) 500 6 months ago
philadelphia (opens new window) 269 Fast FIX protocol library for the JVM 3 days ago
connect-java-sdk (opens new window) 38 Java client library for the Square Connect v2 API 2 years ago

# Formal Verification

  • Formal-methods tools: proof assistants, model checking, symbolic execution, etc.
Repository StarCount Description RecentlyUpdated
jpf-core (opens new window) 392 JPF is an extensible software analysis framework for Java bytecode. jpf-core is the basis for all JPF projects; you always need to install it. It contains the basic VM and model checking infrastructure, and can be used to check for concurrency defects like deadlocks, and unhandled exceptions like NullPointerExceptions and AssertionErrors. 2 months ago
janala2 (opens new window) 88 a concolic testing engine for Java 4 years ago

# Functional Programming

  • Libraries that facilitate functional programming.
Repository StarCount Description RecentlyUpdated
jOOL (opens new window) 1940 jOOλ - The Missing Parts in Java 8 jOOλ improves the JDK libraries in areas where the Expert Group's focus was elsewhere. It adds tuple support, function support, and a lot of additional functionality around sequential Streams. The JDK 8's main efforts (default methods, lambdas, and the Stream API) were focused around maintaining backwards compatibility and implementing a functional API for parallelism. a year ago
streamex (opens new window) 1930 Enhancing Java Stream API 25 days ago
cyclops (opens new window) 1236 An advanced, but easy to use, platform for writing functional applications in Java 8. 3 months ago
derive4j (opens new window) 542 Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching, folds, optics and typeclasses. a month ago
protonpack (opens new window) 460 Stream utilities for Java 8 8 months ago

# Geospatial

  • Libraries for working with geospatial data and algorithms.
Repository StarCount Description RecentlyUpdated
graphhopper (opens new window) 3753 Open source routing engine for OpenStreetMap. Use it as Java library or standalone web server. 19 hours ago
mapsforge (opens new window) 984 Vector map library and writer - running on Android and Desktop. 12 days ago
spatial4j (opens new window) 845 LocationTech Spatial4j: A Geospatial Library for Java 5 days ago
geo (opens new window) 376 Geohash utitlies in java 3 days ago

# High Performance

  • Everything about high-performance computation, from collections to specific libraries.
Repository StarCount Description RecentlyUpdated
JCTools (opens new window) 3017 15 days ago
agrona (opens new window) 2351 High Performance data structures and utility methods for Java 3 days ago
eclipse-collections (opens new window) 2026 Eclipse Collections is a collections framework for Java with optimized data structures and a rich, functional and fluent API. 8 days ago
Koloboke (opens new window) 965 Java Collections till the last breadcrumb of memory and performance 6 years ago

# HTTP Clients

  • Libraries that assist with creating HTTP requests and/or binding responses.
Repository StarCount Description RecentlyUpdated
feign (opens new window) 8232 Feign makes writing java http clients easier 5 hours ago
async-http-client (opens new window) 5990 Asynchronous Http and WebSocket Client library for Java 5 months ago
ribbon (opens new window) 4293 Ribbon is a Inter Process Communication (remote procedure calls) library with built in software load balancers. The primary usage model involves REST calls with various serialization scheme support. 17 days ago
unirest-java (opens new window) 2309 Unirest in Java: Simplified, lightweight HTTP client library. 2 months ago
google-http-java-client (opens new window) 1281 Google HTTP Client Library for Java 3 days ago
riptide (opens new window) 227 Client-side response routing for Spring 12 days ago
methanol (opens new window) 156 ⚗️ Lightweight HTTP extensions for Java 4 hours ago

# Hypermedia Types

  • Libraries that handle serialization to hypermedia types.
Repository StarCount Description RecentlyUpdated
jsonld-java (opens new window) 357 JSON-LD implementation for Java 6 days ago
siren4j (opens new window) 23 Java library for the Siren Hypermedia Type Specification 5 years ago
hate (opens new window) 20 HATEOAS with HAL for Java 2 years ago

# Imagery

  • Libraries that assist with the creation, evaluation or manipulation of graphical images.
Repository StarCount Description RecentlyUpdated
zxing (opens new window) 29910 ZXing ("Zebra Crossing") barcode scanning library for Java, Android 18 days ago
thumbnailator (opens new window) 4250 Thumbnailator - a thumbnail generation library for Java 5 months ago
TwelveMonkeys (opens new window) 1483 TwelveMonkeys ImageIO: Additional plug-ins and extensions for Java's ImageIO 2 months ago
tess4j (opens new window) 1188 Java JNA wrapper for Tesseract OCR API 14 days ago
imgscalr (opens new window) 1119 Simple Java image-scaling library implementing Chris Campbell's incremental scaling algorithm as well as Java2D's "best-practices" image-scaling techniques. a year ago
image-comparison (opens new window) 227 Published on Maven Central Java 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. Can be used for automation QA tests. 2 months ago

# Introspection

  • Libraries that help make the Java introspection and reflection API easier and faster to use.
Repository StarCount Description RecentlyUpdated
reflections (opens new window) 4209 Java runtime metadata analysis 7 days ago
jOOR (opens new window) 2603 jOOR - Fluent Reflection in Java jOOR is a very simple fluent API that gives access to your Java Class structures in a more intuitive way. The JDK's reflection APIs are hard and verbose to use. Other languages have much simpler constructs to access type meta information at runtime. Let us make Java reflection better. 4 months ago
classgraph (opens new window) 2269 An uber-fast parallelized Java classpath scanner and module scanner. 17 days ago
reflectasm (opens new window) 1340 High performance Java reflection 6 months ago

# Job Scheduling

  • Libraries for scheduling background jobs.
Repository StarCount Description RecentlyUpdated
quartz (opens new window) 5130 Code for Quartz Scheduler 2 days ago
ShedLock (opens new window) 2541 Distributed lock for your scheduled tasks 2 days ago
jobrunr (opens new window) 1101 An extremely easy way to perform background processing in Java. Backed by persistent storage. Open and free for commercial use. 3 days ago
db-scheduler (opens new window) 620 Persistent cluster-friendly scheduler for Java 2 days ago
easy-batch (opens new window) 557 The simple, stupid batch framework for Java 3 months ago
Sundial (opens new window) 258 A Light-weight Job Scheduling Framework 7 days ago
Wisp (opens new window) 95 A simple Java Scheduler library with a minimal footprint and a straightforward API 9 months ago

# JSON

  • Libraries for serializing and deserializing JSON to and from Java objects.
Repository StarCount Description RecentlyUpdated
fastjson (opens new window) 24859 A fast JSON parser/generator for Java. 14 hours ago
gson (opens new window) 21229 A Java serialization/deserialization library to convert Java Objects into JSON and back 3 hours ago
moshi (opens new window) 8417 A modern JSON library for Kotlin and Java. 10 days ago
jackson (opens new window) 7593 Main Portal page for the Jackson project 2 months ago
JsonPath (opens new window) 7198 Java JsonPath implementation 2 months ago
LoganSquare (opens new window) 3238 Screaming fast JSON parsing and serialization library for Android. 8 months ago
jolt (opens new window) 1257 JSON to JSON transformation library written in Java. 4 days ago
dsl-json (opens new window) 816 High performance JVM JSON library 22 days ago
HikariJSON (opens new window) 447 High-performance JSON parser 5 years ago
jackson-modules-java8 (opens new window) 352 Set of support modules for Java 8 datatypes (Optionals, date/time) and features (parameter names) 4 days ago
json-io (opens new window) 295 Convert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer. 3 months ago
JsonSurfer (opens new window) 248 A streaming JsonPath processor in Java 4 months ago
jackson-datatype-money (opens new window) 207 Extension module to properly support datatypes of javax.money 12 days ago
yasson (opens new window) 181 Eclipse Yasson project 6 days ago

# JVM and JDK

  • Current implementations of the JVM/JDK.
Repository StarCount Description RecentlyUpdated
graal (opens new window) 17307 GraalVM: Run Programs Faster Anywhere 🚀 2 days ago
dragonwell8 (opens new window) 3646 Alibaba Dragonwell8 JDK 3 days ago
openj9 (opens new window) 2919 Eclipse OpenJ9: A Java Virtual Machine for OpenJDK that's optimized for small footprint, fast start-up, and high throughput. Builds on Eclipse OMR (https://github.com/eclipse/omr) and combines with the Extensions for OpenJDK for OpenJ9 repo. 2 days ago
CodenameOne (opens new window) 1277 Cross-platform framework for building truly native mobile apps with Java or Kotlin. Write Once Run Anywhere support for iOS, Android, Desktop & Web. 24 days ago
avian (opens new window) 1204 [INACTIVE] Avian is a lightweight virtual machine and class library designed to provide a useful subset of Java's features, suitable for building self-contained applications. a year ago

# Logging

  • Libraries that log the behavior of an application.
Repository StarCount Description RecentlyUpdated
p6spy (opens new window) 1703 P6Spy is a framework that enables database data to be seamlessly intercepted and logged with no code changes to the application. 6 months ago
logbook (opens new window) 1125 An extensible Java library for HTTP request and response logging 7 days ago
opentracing-toolbox (opens new window) 181 Best-of-breed OpenTracing utilities, instrumentations and extensions 17 days ago

# Machine Learning

  • Tools that provide specific statistical algorithms for learning from data.
Repository StarCount Description RecentlyUpdated
smile (opens new window) 5558 Statistical Machine Intelligence & Learning Engine 3 months ago
oryx (opens new window) 1799 Oryx 2: Lambda architecture on Apache Spark, Apache Kafka for real-time large scale machine learning a year ago
siddhi (opens new window) 1359 Stream Processing and Complex Event Processing Engine 3 days ago
JSAT (opens new window) 740 Java Statistical Analysis Tool, a Java library for Machine Learning a year ago

# Messaging

  • Tools that help send messages between clients to ensure protocol independency.
Repository StarCount Description RecentlyUpdated
EventBus (opens new window) 24060 Event bus for Android and Java that simplifies communication between Activities, Fragments, Threads, Services, etc. Less code, better quality. a month ago
aeron (opens new window) 6103 Efficient reliable UDP unicast, UDP multicast, and IPC message transport 17 hours ago
Smack (opens new window) 2303 A modular and portable open source XMPP client library written in Java for Android and Java (SE) VMs 12 hours ago
jeromq (opens new window) 2139 Pure Java ZeroMQ 6 months ago
rabbitmq-java-client (opens new window) 1091 RabbitMQ Java client 3 days ago
nakadi (opens new window) 852 A distributed event bus that implements a RESTful API abstraction on top of Kafka-like queues 3 days ago
nats.java (opens new window) 435 Java client for NATS 2 days ago

# Microservice

  • Tools for creating and managing microservices.
Repository StarCount Description RecentlyUpdated
Sentinel (opens new window) 19610 A powerful flow control component enabling reliability, resilience and monitoring for microservices. (面向云原生微服务的高可用流控防护组件) 41 minutes ago
eureka (opens new window) 11405 AWS Service registry for resilient mid-tier load balancing and failover. 25 days ago
armeria (opens new window) 3777 Your go-to microservice framework for any situation, from the creator of Netty et al. You can build any type of microservice leveraging your favorite technologies, including gRPC, Thrift, Kotlin, Retrofit, Reactive Streams, Spring Boot and Dropwizard. 37 minutes ago
consul-api (opens new window) 399 Java client for Consul HTTP API 5 months ago

# Miscellaneous

Repository StarCount Description RecentlyUpdated
java-design-patterns (opens new window) 76153 Design patterns implemented in Java 22 days ago
FizzBuzzEnterpriseEdition (opens new window) 17713 FizzBuzz Enterprise Edition is a no-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. 23 days ago
java8-tutorial (opens new window) 15856 Modern Java - A Guide to Java 8 19 days ago
j2objc (opens new window) 5893 A Java to iOS Objective-C translation tool and runtime. 3 days ago
OctoLinker (opens new window) 5005 OctoLinker — Links together, what belongs together 7 days ago
jimfs (opens new window) 2180 An in-memory file system for Java 7+ 7 days ago
maven-wrapper (opens new window) 1582 The easiest way to integrate Maven into your project! 8 months ago
cqengine (opens new window) 1517 Ultra-fast SQL-like queries on Java collections a year ago
jsweet (opens new window) 1315 A Java to JavaScript transpiler. a month ago
jbot (opens new window) 1179 Make Slack and Facebook Bots in Java. 2 months ago
ff4j (opens new window) 1087 Feature Flags for Java made easy 2 days ago
simple-java-mail (opens new window) 994 Simple API, Complex Emails (Jakarta Mail smtp wrapper) 9 days ago
polyglot-maven (opens new window) 817 Support alternative markup for Apache Maven POM files 2 months ago
typetools (opens new window) 568 Tools for working with generic types a year ago
service-proxy (opens new window) 378 API gateway for REST and SOAP written in Java. 4 days ago
smooks (opens new window) 345 Extensible data integration Java framework for building XML and non-XML fragment-based applications 6 days ago
modernizer-maven-plugin (opens new window) 319 Detect uses of legacy Java APIs 4 months ago
PipelinR (opens new window) 256 PipelinR is a lightweight command processing pipeline ❍ ⇢ ❍ ⇢ ❍ for your Java awesome app. a month ago
yGuard (opens new window) 233 The open-source Java obfuscation tool working with Ant and Gradle by yWorks - the diagramming experts 2 months ago
MinimalFTP (opens new window) 123 A lightweight, simple FTP server. Pure Java, no dependencies. 2 years ago
xmlbeam (opens new window) 69 Java XML library. A really cool one. Obviously. 4 months ago

# Monitoring

  • Tools that monitor applications in production.
Repository StarCount Description RecentlyUpdated
pinpoint (opens new window) 12300 APM, (Application Performance Management) tool for large-scale distributed systems. 2 hours ago
metrics (opens new window) 7603 📈 Capturing JVM- and application-level metrics. So you know what's going on. 9 hours ago
javamelody (opens new window) 2680 JavaMelody : monitoring of JavaEE applications 23 days ago
client_java (opens new window) 1795 Prometheus instrumentation library for JVM applications 17 days ago
jmxtrans (opens new window) 1679 jmxtrans 5 months ago
stagemonitor (opens new window) 1678 an open source solution to application performance monitoring for java server applications 5 months ago
automon (opens new window) 554 Automon combines the power of AOP (AspectJ) with monitoring or logging tools you already use to declaratively monitor your Java code, the JDK, and 3rd party libraries. 2 months ago
jaeger-client-java (opens new window) 484 🛑 This library is DEPRECATED! a month ago
dd-trace-java (opens new window) 354 Datadog APM client for Java 2 days ago
Sysmon (opens new window) 152 A lightweight platform monitoring tool for Java VMs 6 years ago
nudge4j (opens new window) 150 Get inside your JVM 2 years ago
failsafe-actuator (opens new window) 53 Endpoint library for the failsafe framework 4 months ago
sematext-agent-java (opens new window) 19 Sematext Monitoring Agent a month ago

# Native

  • For working with platform-specific native libraries.
Repository StarCount Description RecentlyUpdated
jna (opens new window) 7295 Java Native Access a day ago
javacpp (opens new window) 3895 The missing bridge between Java and native C++ a month ago
jnr-ffi (opens new window) 1018 Java Abstracted Foreign Function Layer a month ago
aparapi (opens new window) 411 The New Official Aparapi: a framework for executing native Java and Scala code on the GPU. 3 months ago

# Natural Language Processing

  • Libraries that specialize in processing text.
Repository StarCount Description RecentlyUpdated
cogcomp-nlp (opens new window) 450 CogComp's Natural Language Processing Libraries and Demos: Modules include lemmatizer, ner, pos, prep-srl, quantifier, question type, relation-extraction, similarity, temporal normalizer, tokenizer, transliteration, verb-sense, and more. a month ago

# Networking

  • Libraries for building network servers.
Repository StarCount Description RecentlyUpdated
dubbo (opens new window) 37712 Apache Dubbo is a high-performance, java based, open source RPC framework. 31 minutes ago
grpc-java (opens new window) 9936 The Java gRPC implementation. HTTP/2 based RPC 2 days ago
sshj (opens new window) 2140 ssh, scp and sftp for java 5 days ago
kryonet (opens new window) 1736 TCP/UDP client/server library for Java, based on Kryo a year ago
servicetalk (opens new window) 763 A networking framework that evolves with your application 2 days ago
comsat (opens new window) 602 Fibers and actors for web development 5 years ago
drift (opens new window) 217 An annotation-based Java library for creating Thrift serializable types and services. 2 years ago
tls-channel (opens new window) 141 A Java library that implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS for Java applications. 2 days ago
urnlib (opens new window) 24 Java library for representing, parsing and encoding URNs as in RFC2141 and RFC8141 8 months ago

# ORM

  • APIs that handle the persistence of objects.
Repository StarCount Description RecentlyUpdated
mybatis-3 (opens new window) 17537 MyBatis SQL mapper framework for Java 5 hours ago
ObjectiveSql (opens new window) 1179 Writing SQL using Java syntax 6 months ago
SimpleFlatMapper (opens new window) 409 Fast and Easy mapping from database and csv to POJO. A java micro ORM, lightweight alternative to iBatis and Hibernate. Fast Csv Parser and Csv Mapper 3 days ago
doma (opens new window) 329 DAO oriented database mapping framework for Java 8+ 2 days ago
permazen (opens new window) 306 Language-Natural Persistence Layer for Java 2 days ago

# PDF

  • Tools to help with PDF files.
Repository StarCount Description RecentlyUpdated
OpenPDF (opens new window) 2401 OpenPDF is a free Java library for creating and editing PDF files with a LGPL and MPL open source license. OpenPDF is based on a fork of iText. We welcome contributions from other developers. Please feel free to submit pull-requests and bugreports to this GitHub repository. ⛺ 7 days ago
flyingsaucer (opens new window) 1727 XML/XHTML and CSS 2.1 renderer in pure Java 3 months ago
openhtmltopdf (opens new window) 1490 An HTML to PDF library for the JVM. Based on Flying Saucer and Apache PDF-BOX 2. With SVG image support. Now also with accessible PDF support (WCAG, Section 508, PDF/UA)! 2 months ago
tabula-java (opens new window) 1408 Extract tables from PDF files 2 months ago
dynamicreports (opens new window) 160 Java reporting library for creating dynamic report designs at runtime 2 months ago

# Performance analysis

  • Tools for performance analysis, profiling and benchmarking.
Repository StarCount Description RecentlyUpdated
jitwatch (opens new window) 2693 Log analyser / visualiser for Java HotSpot JIT compiler. Inspect inlining decisions, hot methods, bytecode, and assembly. View results in the JavaFX user interface. 18 days ago
honest-profiler (opens new window) 1201 A sampling JVM profiler without the safepoint sample bias 23 days ago
jHiccup (opens new window) 617 jHiccup is a non-intrusive instrumentation tool that logs and records

platform "hiccups" - including the JVM stalls that often happen when Java applications are executed and/or any OS or hardware platform noise that may cause the running application to not be continuously runnable. | a year ago | | LatencyUtils (opens new window) | 436 | Utilities for latency measurement and reporting | a year ago |

# Platform

  • Frameworks that are suites of multiple libraries encompassing several categories.

# Apache Commons

# Other

Repository StarCount Description RecentlyUpdated
light-4j (opens new window) 3430 A fast, lightweight and more productive microservices framework 2 days ago
light-oauth2 (opens new window) 282 A fast, light and cloud native OAuth 2.0 authorization microservices based on light-4j 2 days ago
Orienteer (opens new window) 185 Business Application Platform - no-code/low-code platform to build business applications a month ago

# Processes

  • Libraries that help the management of operating system processes.
Repository StarCount Description RecentlyUpdated
zt-exec (opens new window) 790 ZeroTurnaround Process Executor a year ago
zt-process-killer (opens new window) 108 ZeroTurnaround Process Killer a year ago
ch.vorburger.exec (opens new window) 21 Java library to launch external processes 2 months ago

# Reactive libraries

  • Libraries for developing reactive applications.
Repository StarCount Description RecentlyUpdated
RxJava (opens new window) 46285 RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM. 17 days ago
reactive-streams-jvm (opens new window) 4422 Reactive Streams Specification for the JVM a month ago
reactor-core (opens new window) 4237 Non-Blocking Reactive Foundation for the JVM 4 hours ago

# REST Frameworks

  • Frameworks specifically for creating RESTful services.
Repository StarCount Description RecentlyUpdated
dropwizard (opens new window) 8249 A damn simple library for building production-ready RESTful web services. 7 hours ago
rest.li (opens new window) 2212 Rest.li is a REST+JSON framework for building robust, scalable service architectures using dynamic discovery and simple asynchronous APIs. 2 hours ago
springdoc-openapi (opens new window) 2041 Library for OpenAPI 3 with spring-boot a day ago
RestExpress (opens new window) 935 Minimalist Java framework for rapidly creating scalable, containerless, RESTful microservices. Ship a production-quality, headless, RESTful API in the shortest time possible. Uses Netty for HTTP, Jackson for JSON, Metrics for metrics, properties files for configuration. Sub-projects and plugins enable, NoSQL, Swagger, Auth0, HAL integration, etc. 10 months ago
micro-server (opens new window) 933 Microserver is a Java 8 native, zero configuration, standards based, battle hardened library to run Java Rest Microservices via a standard Java main class. Supporting pure Microservice or Micro-monolith styles. 2 years ago
restlet-framework-java (opens new window) 629 Leading REST API framework for Java a year ago

# Science

  • Libraries for scientific computing, analysis and visualization.
Repository StarCount Description RecentlyUpdated
tablesaw (opens new window) 2963 Java dataframe and visualization library 3 days ago
jgrapht (opens new window) 2152 Master repository for the JGraphT project 6 days ago
XChart (opens new window) 1291 XChart is a light-weight Java library for plotting data. 19 days ago
jgraphx (opens new window) 634 2 years ago
chart-fx (opens new window) 357 A scientific charting library focused on performance optimised real-time data visualisation at 25 Hz update rates for data sets with a few 10 thousand up to 5 million data points. 12 days ago
morpheus-core (opens new window) 220 The foundational library of the Morpheus data science framework 4 years ago
Erdos (opens new window) 110 Modular and modern graph-theory algorithms framework in Java 8 months ago
LogicNG (opens new window) 94 The Next Generation Logic Library 2 days ago
orson-charts (opens new window) 94 A 3D chart library for Java applications (JavaFX, Swing or server-side). 2 months ago
jtk (opens new window) 53 The Mines Java Toolkit a year ago
  • Engines that index documents for search and analysis.
Repository StarCount Description RecentlyUpdated
indexer4j (opens new window) 47 Simple full text indexing and searching library for Java 4 years ago

# Security

  • Libraries that handle security, authentication, authorization or session management.
Repository StarCount Description RecentlyUpdated
tink (opens new window) 12542 Tink is a multi-language, cross-platform, open source library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse. 2 days ago
jjwt (opens new window) 8483 Java JWT: JSON Web Token for Java and Android 6 days ago
keywhiz (opens new window) 2513 A system for distributing and managing secrets 2 days ago
pac4j (opens new window) 2159 Security engine for Java (authentication, authorization, multi frameworks): OAuth, CAS, SAML, OpenID Connect, LDAP, JWT... 3 days ago
themis (opens new window) 1565 Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms. 3 days ago
sslcontext-kickstart (opens new window) 258 🔐 A lightweight high level library for configuring a http client or server based on SSLContext or other properties such as TrustManager, KeyManager or Trusted Certificates to communicate over SSL TLS for one way authentication or two way authentication provided by the SSLFactory. Support for Java, Scala and Kotlin based clients with examples. Available client examples are: Apache HttpClient, OkHttp, Spring RestTemplate, Spring WebFlux WebClient Jetty and Netty, the old and the new JDK HttpClient, the old and the new Jersey Client, Google HttpClient, Unirest, Retrofit, Feign, Methanol, Vertx, Scala client Finagle, Featherbed, Dispatch Reboot, AsyncHttpClient, Sttp, Akka, Requests Scala, Http4s Blaze, Kotlin client Fuel, http4k Kohttp and Ktor. Also gRPC, WebSocket and ElasticSearch examples are included 4 days ago
nbvcxz (opens new window) 233 Password strength estimator 3 months ago
hdiv (opens new window) 209 Hdiv CE , Application Self-Protection 4 months ago
password4j (opens new window) 207 A fluent cryptographic library that supports Argon2, bcrypt, scrypt and PBKDF2 aimed to protect passwords in databases. Easy to use by design, highly customizable, secure and portable. All the implementations follow the standards and have been reviewed to perform better with Java. 25 days ago
kalium (opens new window) 205 Java binding to the Networking and Cryptography (NaCl) library with the awesomeness of libsodium 4 years ago
jwks-rsa-java (opens new window) 145 a month ago
otp-java (opens new window) 83 A small and easy-to-use one-time password generator library for Java according to RFC 4226 (HOTP) and RFC 6238 (TOTP). 2 months ago
securitybuilder (opens new window) 43 Fluent builders with typesafe API for the JCA a year ago

# Serialization

  • Libraries that handle serialization with high efficiency.
Repository StarCount Description RecentlyUpdated
flatbuffers (opens new window) 18442 FlatBuffers: Memory Efficient Serialization Library 8 hours ago
kryo (opens new window) 5510 Java binary serialization and cloning: fast, efficient, automatic 20 days ago
fast-serialization (opens new window) 1471 FST: fast java serialization drop in-replacement 3 months ago
msgpack-java (opens new window) 1289 MessagePack serializer implementation for Java / msgpack.org[Java] 9 days ago
java-php-serializer (opens new window) 14 A Java library for serializing objects as PHP serialization format. 4 years ago

# Server

  • Servers specifically used to deploy applications.
Repository StarCount Description RecentlyUpdated
nanohttpd (opens new window) 6367 Tiny, easily embeddable HTTP server in Java. 2 months ago

# Template Engine

  • Tools that substitute expressions in a template.
Repository StarCount Description RecentlyUpdated
jade4j (opens new window) 702 a pug implementation written in Java (formerly known as jade) 3 months ago
rocker (opens new window) 662 Java 8 optimized, memory efficient, speedy template engine producing statically typed, plain java objects 23 days ago
jte (opens new window) 400 Secure and speedy templates for Java and Kotlin. 3 days ago
jtwig (opens new window) 298 Java modern template engine 4 years ago

# Testing

  • Tools that test from model to the view.

# Asynchronous(#asynchronous)

  • Tools that simplify testing asynchronous services.
Repository StarCount Description RecentlyUpdated
karate (opens new window) 6189 Test Automation Made Simple 11 hours ago
rest-assured (opens new window) 5969 Java DSL for easy testing of REST services 11 days ago
awaitility (opens new window) 3087 Awaitility is a small Java DSL for synchronizing asynchronous operations 7 days ago
concurrentunit (opens new window) 402 Toolkit for testing multi-threaded and asynchronous applications 5 months ago
hoverfly-java (opens new window) 148 Java binding for Hoverfly 4 days ago

# BDD(#bdd)

  • Testing for the software development process that emerged from TDD and was heavily influenced by DDD and OOAD.
Repository StarCount Description RecentlyUpdated
cucumber-jvm (opens new window) 2479 Cucumber for the JVM an hour ago
serenity-core (opens new window) 642 Serenity BDD is a test automation library designed to make writing automated acceptance tests easier, and more fun. 4 days ago
lambda-behave (opens new window) 249 A modern testing and behavioural specification framework for Java 8 6 months ago
cukes (opens new window) 98 Cucumber DSL for testing RESTful Web Services 2 months ago
j8spec (opens new window) 45 Library that allows tests written in Java to follow the BDD style introduced by RSpec and Jasmine. 5 months ago

# Fixtures(#fixtures)

  • Everything related to the creation and handling of random data.
Repository StarCount Description RecentlyUpdated
java-faker (opens new window) 3655 Brings the popular ruby faker gem to Java 3 days ago
jfairy (opens new window) 706 Java fake data generator 6 months ago
fixture-factory (opens new window) 417 Generator fake objects from a template 5 months ago
randomizedtesting (opens new window) 165 Randomized Testing (Core JUnit Runner, ANT, Maven) a month ago
beanmother (opens new window) 111 A library for setting up Java objects as test data. a year ago

# Frameworks

  • Provide environments to run tests for a specific use case.
Repository StarCount Description RecentlyUpdated
ArchUnit (opens new window) 2278 A Java architecture test library, to specify and assert architecture rules in plain Java 2 days ago
pact-jvm (opens new window) 939 JVM version of Pact. Enables consumer driven contract testing, providing a mock service and DSL for the consumer project, and interaction playback and verification for the service provider project. 2 hours ago

# Matchers

  • Libraries that provide custom matchers.
Repository StarCount Description RecentlyUpdated
xmlunit (opens new window) 268 XMLUnit for Java 2.x 5 months ago

# Miscellaneous

  • Other stuff related to testing.
Repository StarCount Description RecentlyUpdated
testcontainers-java (opens new window) 6208 Testcontainers is a Java library that supports JUnit tests, providing lightweight, throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container. 2 days ago
junit-dataprovider (opens new window) 235 A TestNG like dataprovider runner for JUnit with many additional features 5 months ago
MutabilityDetector (opens new window) 232 Lightweight analysis tool for detecting mutability in Java classes a month ago
log-captor (opens new window) 195 🎯 LogCaptor captures log entries for unit testing purposes 3 months ago
raml-tester (opens new window) 71 Test if a request/response matches a given raml definition 3 years ago

# Mocking

  • Tools which mock collaborators to help testing single, isolated units.
Repository StarCount Description RecentlyUpdated
mockito (opens new window) 13174 Most popular Mocking framework for unit tests written in Java 3 days ago
moco (opens new window) 4009 Easy Setup Stub Server 3 days ago
powermock (opens new window) 3858 PowerMock is a Java framework that allows you to unit test code normally regarded as untestable. a month ago

# Utility

  • Libraries which provide general utility functions.
Repository StarCount Description RecentlyUpdated
guava (opens new window) 45301 Google core libraries for Java 6 minutes ago
arthas (opens new window) 30014 Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas 3 days ago
gephi (opens new window) 4912 Gephi - The Open Graph Viz Platform 4 days ago
JavaVerbalExpressions (opens new window) 2572 Java regular expressions made easy. a month ago
embulk (opens new window) 1648 Embulk: Pluggable Bulk Data Loader. 12 days ago
bucket4j (opens new window) 1557 Java rate limiting library based on token-bucket algorithm. 2 days ago
Dex (opens new window) 1283 Dex : The Data Explorer -- A data visualization tool written in Java/Groovy/JavaFX capable of powerful ETL and publishing web visualizations. 3 years ago
minio-java (opens new window) 707 MinIO Client SDK for Java a month ago
cactoos (opens new window) 666 Object-Oriented Java primitives, as an alternative to Google Guava and Apache Commons a day ago
underscore-java (opens new window) 395 java port of Underscore.js 5 days ago
ch.vorburger.fswatch (opens new window) 21 Java lib for monitoring directories or individual files via java.nio.file.WatchService 7 days ago

# Version Managers

  • Utilities that help create the development shell environment and switch between different Java versions.
Repository StarCount Description RecentlyUpdated
sdkman-cli (opens new window) 4785 The SDKMAN! Command Line Interface a day ago
jenv (opens new window) 4385 Manage your Java environment 2 months ago
jabba (opens new window) 2405 (cross-platform) Java Version Manager 4 months ago

# Web Crawling

  • Libraries that analyze the content of websites.
Repository StarCount Description RecentlyUpdated
webmagic (opens new window) 10481 A scalable web crawler framework for Java. 3 days ago
crawler4j (opens new window) 4297 Open Source Web Crawler for Java 9 months ago

# Web Frameworks

  • Frameworks that handle the communication between the layers of a web application.
Repository StarCount Description RecentlyUpdated
blade (opens new window) 5653 🚀 Lightning fast and elegant mvc framework for Java8 3 months ago
takes (opens new window) 734 True Object-Oriented Java Web Framework 3 days ago

# Resources

  • Awesome lists related to the Java & JVM ecosystem.
Repository StarCount Description RecentlyUpdated
awesome-microservices (opens new window) 11243 A curated list of Microservice Architecture related principles and technologies. 12 days ago
useful-java-links (opens new window) 5283 A list of useful Java frameworks, libraries, software and hello worlds examples 17 days ago
awesome-rest (opens new window) 3114 A collaborative list of great resources about RESTful API architecture, development, test, and performance 13 hours ago
java-developer-roadmap (opens new window) 2806 Roadmap to becoming a Java developer in 2022 2 days ago
AwesomeJavaFX (opens new window) 2639 A curated list of awesome JavaFX libraries, books, frameworks, etc... 4 months ago
awesome-jvm (opens new window) 1799 A curated list of awesome loosely performance related JVM stuff. Inspired by awesome-python. 2 years ago
awesome-ciandcd (opens new window) 1477 continuous integration and continuous delivery 14 days ago
java-concurrency (opens new window) 1066 Checklist for code reviews 2 years ago
awesome-selenium (opens new window) 819 A curated list of delightful Selenium resources. 21 days ago
awesome-gradle (opens new window) 392 A curated list of awesome Gradle plugins and resources for a better development workflow automation. 3 years ago
awesome-graal (opens new window) 332 A curated list of awesome resources for Graal, GraalVM, Truffle and related topics a year ago
awesome-annotation-processing (opens new window) 311 A curated list of resources related to the Java annotation processing API (JSR 269) 2 months ago