# 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
- Bean Mapping
- Bytecode Manipulation
- CLI
- Code Analysis
- Code Generators
- Computer Vision
- Configuration
- Constraint Satisfaction Problem Solver
- CSV
- Data Structures
- Database
- Date and Time
- Dependency Injection
- Development
- Distributed Applications
- Distributed Transactions
- Distribution
- Document Processing
- Financial
- Formal Verification
- Functional Programming
- Geospatial
- 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
- Performance analysis
- Platform
- Processes
- Reactive libraries
- REST Frameworks
- Science
- Search
- Security
- Serialization
- Server
- Template Engine
- Testing
- Asynchronous(#asynchronous)
- BDD(#bdd)
- Fixtures(#fixtures)
- Frameworks
- Matchers
- Miscellaneous
- Mocking
- Utility
- Version Managers
- Web Crawling
- Web Frameworks
- Resources
# 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
- Libraries that help to realize the Inversion of Control (opens new window) paradigm.
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 |
- 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 |
# Search
- 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 |