Top 50 Awesome List

akullpp/awesome-java

Programming Languages  19 days ago  30.6k
A curated list of awesome frameworks, libraries and software for the Java programming language.
View byDAY/WEEK/README
View on Github

Nov 8th

Resources

Other

  • Groundbreakers - Oracle ACEs, Groundbreaker Ambassadors and Java Champions.
  • Projects

    Code Generators

  • Gecistars97 - Discovers files that need generated code, updates automatically and writes to the source with a convenient API.
  • Projects

    Template Engine

  • Jamalstars10 - Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling.
  • jtestars317 - Compiles to classes, and uses an easy syntax, several features to make development easier and provides fast execution and a small footprint.
  • Projects

    Monitoring

  • Sentry cstars745 - Integration with Sentrystars29.5k, an application error tracking and performance analysis platform.
  • Projects

    Miscellaneous

  • JObfuscatorc - Source code obfuscator.
  • Projects

    Database

  • ArangoDBstars182 - ArangoDB Java driver.
  • Oct 15th

    Resources

    Twitter

  • Lukas Eder - Java Champion, speaker, Founder and CEO Data Geekery (jOOQ).
  • Projects

    Code Generators

  • Record-Builderstars213 - Companion builder class, withers and templates for Java records.
  • Sep 8th

    Projects

    Miscellaneous

  • ConsoleCaptorstars8 - Captures console output for unit testing purposes.
  • Projects

    Workflow Orchestration Engines

  • flowablestars4.6k - Compact and efficient workflow and business process management platform.
  • Projects

    Machine Learning

  • m2cgenstars1.9k - CLI tool to transpile models into native code.
  • Projects

    Financial

  • Cassandrestars261 - Trading bot framework.
  • Jul 26th

    Projects

    CLI

  • jbockstars57 - Reflectionless command line parser.
  • Projects

    Utility

  • Java Diff Utils - Utilities for text or data comparison and patching.
  • Jun 18th

    Projects

    IDE

  • Recaf - Bytecode editor.
  • May 25th

    Projects

    Database

  • Spring Data JPA MongoDB Expressionsstars47 - Allows you to use MongoDB query language to query your relational database.
  • Projects

    Networking

  • Commons-networkingstars3 - Client for server-sent events (SSE).
  • Projects

    Code Generators

  • Bootify c - Browser-based Spring Boot app generation with JPA model and REST API.
  • Projects

    Template Engine

  • StringTemplatestars745 - Template engine for generating source code, web pages, emails, or any other formatted text output.
  • Projects

    Workflow Orchestration Engines

  • Cadence - Stateful code platform from Uber.
  • Temporal - Microservice orchestration platform, forked from Cadence but gRPC based.
  • May 22nd

    Projects

    ORM

  • ObjectiveSqlstars1.1k - ActiveRecord ORM for rapid development and convention over configuration.
  • Mar 29th

    Projects

    Miscellaneous

  • Smooksstars318 - Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later)
  • Mar 1st

    Projects

    CSV

  • FastCSVstars339 - Performance-optimized, dependency-free and RFC 4180 compliant.
  • Projects

    Financial

  • ta4jstars1.2k - Library for technical analysis.
  • Projects

    Security

  • OTP-Javastars44 - One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP).
  • Feb 9th

    Projects

    Distribution

  • Artipiestars250 - Binary artifact management toolkit which hosts them on the file system or S3.
  • Projects

    Security

  • Password4jstars169 - User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions.
  • Jan 10th

    Projects

    Game Development

  • JBox2D - Port of the renowned C++ 2D physics engine.
  • libGDX - All-round cross-platform, high-level framework.
  • Litiengine - AWT-based, lightweight 2D game engine.
  • Projects

    Database

  • Trino - Distributed SQL query engine for big data.
  • Dec 19th, 2020

    Projects

    Computer Vision

  • BoofCV - Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more.
  • Projects

    Miscellaneous

  • jsweetstars1.2k - Source transpiler to TypeScript/JavaScript.
  • Dec 8th, 2020

    Projects

    Computer Vision

  • ImageJ - Medical image processing application with an API.
  • JavaCVstars5.5k - Java interface to OpenCV, FFmpeg, and much more.
  • Nov 22nd, 2020

    Projects

    HTTP Clients

  • Google HTTP Clientstars1.2k - Pluggable HTTP transport abstraction with support for java.net.HttpURLConnection, Apache HTTP Client, Android, Google App Engine, XML, Gson, Jackson and Protobuf.
  • Projects

    Distribution

  • Getdownstars438 - A system for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start.
  • JavaPackagerstars421 - Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, Mac OS X or GNU/Linux executables, and generate installers for them.
  • Projects

    Data Structures

  • RoaringBitmapstars2.4k - Fast and efficient compressed bitmap.
  • Projects

    Document Processing

  • fastexcelstars342 - High performance library to read and write large Excel (XLSX) worksheets.
  • Nov 4th, 2020

    Resources

    Websites

  • foojay.io
  • Resources

    Podcasts and Screencasts

  • A Bootiful Podcast
  • Inside Java (Official)
  • Projects

    Configuration

  • Configuratestars196 - Configuration library with support for various configuration formats and transformations.
  • Oct 17th, 2020

    Projects

    Networking

  • sshjstars2k - Programmatically use SSH, SCP or SFTP.
  • Sep 30th, 2020

    Projects

    Science

  • BioJava - Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics.
  • Sep 21st, 2020

    Resources

    Related Awesome Lists

  • Awesome Graalstars319
  • Resources

    Twitter

  • Mani Sarkar - Java champion, Polyglot, Software Crafter involved with @graalvm, AI/ML/DL, Data Science, Developer communities, speaker & blogger. Creator of couple of awesome lists like this one.
  • Projects

    Miscellaneous

  • LogCaptorstars137 - Captures log entries for unit testing purposes.
  • Projects

    Machine Learning

  • oj! Algorithms - High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing.
  • Tribuo - Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow.
  • DJL - High-level and engine-agnostic framework for deep learning.
  • Projects

    Microservice

  • ActiveRPC - Lightweight and fast library for complex high-load distributed applications and Memcached-like solutions.
  • Projects

    PDF

  • Tabulastars1.3k - Extracts tables from PDF files.
  • Projects

    Native

  • Aparapistars385 - Converts bytecode to OpenCL which allows execution on GPUs.
  • Projects

    Science

  • Chart-FXstars310 - Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets.
  • LogicNGstars75 - Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas.
  • Jul 19th, 2020

    Projects

    Security

  • SSLContext-Kickstartstars165 - High-level SSL context builder for configuring HTTP clients with SSL/TLS.
  • Projects

    HTTP Clients

  • Apache HttpComponents - A toolset of low level Java components focused on HTTP and associated protocols.
  • methanolstars114 - HTTP client extensions library.
  • Projects

    Machine Learning

  • H2O c - Analytics engine for statistics over big data.
  • Siddhistars1.3k - Cloud native streaming and complex event processing engine.
  • Projects

    Monitoring

  • Datadog cstars279 - Modern monitoring & analytics.
  • Prometheusstars1.6k - Provides a multi-dimensional data model, DSL, autonomous server nodes and much more.
  • SPM cstars16 - Performance monitor with distributing transaction tracing for JVM apps.
  • Projects

    Template Engine

  • Jtwigstars296 - Modular, configurable and fully tested template engine.
  • Projects

    Database

  • Xodusstars936 - Highly concurrent transactional schema-less and ACID-compliant embedded database.
  • Apache Calcite - Dynamic data management framework. It contains many of the pieces that comprise a typical database management system.
  • Projects

    Distributed Transactions

  • Seatastars21.2k - Delivers high performance and easy to use distributed transaction services under a microservices architecture.
  • Projects

    High Performance

  • Kolobokestars939 - Carefully designed extension of the Java Collections Framework with primitive specializations and more.
  • Projects

    Hypermedia Types

  • Siren4Jstars21 - Library for the Siren specification.
  • Projects

    Web Frameworks

  • ActiveJ - Lightweight asynchronous framework built from the ground up for developing high-performance web applications.
  • Projects

    Mobile Development

  • Codename One - Cross-platform solution for writing native mobile apps. (GPL-2.0-only WITH Classpath-exception-2.0)
  • MobileUI - Cross-platform framework for developing mobile apps with native UI in Java and Kotlin.
  • Multi-OS Engine - Open-source, cross-platform engine to develop native mobile (iOS, Android, etc.) apps.
  • Projects

    Code Generators

  • Telosys - Simple and light code generator available as an Eclipse Plugin and also as a CLI.
  • Projects

    Configuration

  • microconfig - Configuration system designed for microservices which helps to separate configuration from code. The configuration for different services can have common and specific parts and can be dynamically distributed.
  • Projects

    Job Scheduling

  • easy-batchstars526 - Set up batch jobs with simple processing pipelines. Records are read in sequence from a data source, processed in pipeline and written in batches to a data sink.
  • shedlockstars2.1k - Makes sure that your scheduled tasks are executed at most once at the same time. If a task is being executed on one node, it acquires a lock which prevents execution of the same task from another node or thread.
  • May 23rd, 2020

    Projects

    Game Development

  • Mini2Dx - Beginner-friendly, master-ready framework for rapidly prototyping and building 2D games.
  • Projects

    Database

  • Debezium - Low latency data streaming platform for change data capture.
  • Projects

    Job Scheduling

  • JobRunrstars635 - Job scheduling library which utilizes lambdas for fire-and-forget, delayed and recurring jobs. Guarantees execution by single scheduler instance using optimistic locking. Has features for persistence, minimal dependencies and is embeddable.
  • Projects

    Configuration

  • configstars5.5k - Configuration library supporting Java properties, JSON or its human optimized superset HOCON.
  • May 9th, 2020

    Projects

    Imagery

  • image-comparisonstars175 - 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.
  • Apr 23rd, 2020

    Projects

    PDF

  • Eclipse BIRT - Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor.
  • Apr 22nd, 2020

    Projects

    Template Engine

  • Freemarker - Library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data.
  • Apr 7th, 2020

    Projects

    Hypermedia Types

  • hatestars17 - Builds hypermedia-friendly objects according to HAL specification.
  • Apr 3rd, 2020

    Projects

    JVM and JDK

  • Dragonwell8stars3.4k - Downstream version of OpenJDK optimized for online e-commerce, financial, logistics applications.
  • Mar 25th, 2020

    Projects

    Microservice

  • Sentinelstars17.9k - Flow control component enabling reliability, resilience and monitoring for microservices.
  • Projects

    Utility

  • Arthasstars27.7k - Allows to troubleshoot production issues for applications without modifying code or restarting servers.
  • Projects

    Development

  • Tail - Enable infinite recursion using tail call optimization.
  • Mar 14th, 2020

    Projects

    Distribution

  • Cloudsmith c - Fully managed package management SaaS with support for Maven/Gradle/SBT with a free tier.
  • Feb 28th, 2020

    Projects

    ORM

  • Permazenstars268 - Language-natural persistence layer.
  • Projects

    Database

  • QueryStreamstars3 - Build JPA Criteria queries using a Stream-like API.
  • Feb 14th, 2020

    Projects

    Asynchronous

  • Karatestars5.4k - DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy.
  • Feb 13th, 2020

    Projects

    Logging

  • Logstash - Tool for managing log files.
  • Feb 2nd, 2020

    Projects

    Distributed Applications

  • Hazelcaststars4.6k - Highly scalable in-memory datagrid with a free open-source version.
  • Projects

    Functional Programming

  • Cyclopsstars1.2k - Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more.
  • Vavr - Functional component library that provides persistent data types and functional control structures.
  • Projects

    Game Development

  • FXGL - JavaFX Game Development Framework.
  • jMonkeyEngine - Game engine for modern 3D development.
  • Projects

    Geospatial

  • Jgeohash - Library for using the GeoHash algorithm.
  • Projects

    GUI

  • Scene Builder - Visual layout tool for JavaFX applications.
  • SWT - Graphical widget toolkit.
  • Projects

    High Performance

  • Disruptor - Inter-thread messaging library.
  • Projects

    HTTP Clients

  • Feignstars7.6k - HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket.
  • restQL-javastars42 - Microservice query language that fetches information from multiple services.
  • Retrofit - Typesafe REST client.
  • Projects

    IDE

  • IntelliJ IDEA c - Supports many JVM languages and provides good options for Android development. The commercial edition targets the enterprise sector.
  • Projects

    Imagery

  • Imgscalrstars1.1k - Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D.
  • Projects

    Introspection

  • Mirror - Mirror was created to bring light to a simple problem, usually named ReflectionUtil, which is on almost all projects that rely on reflection to do advanced tasks.
  • Projects

    JSON

  • Genson - Powerful and easy-to-use Java-to-JSON conversion library.
  • Yassonstars170 - Binding layer between classes and JSON documents similar to JAXB.
  • JsonPathstars6.5k - Extract data from JSON using XPATH-like syntax.
  • Projects

    JVM and JDK

  • Corretto - No-cost, multiplatform, production-ready distribution of OpenJDK by Amazon. (GPL-2.0-only WITH Classpath-exception-2.0)
  • Liberica JDK - Built from OpenJDK, thoroughly tested and passed the JCK. (GPL-2.0-only WITH Classpath-exception-2.0)
  • SAP Machine - SAP's no-cost, rigorously tested and JCK-verified OpenJDK friendly fork. (GPL-2.0-only WITH Classpath-exception-2.0)
  • Zulu - OpenJDK builds for Windows, Linux, and macOS. (GPL-2.0-only WITH Classpath-exception-2.0)
  • Projects

    Logging

  • Apache Log4j 2 - Complete rewrite with a powerful plugin and configuration architecture.
  • Kibana - Analyzes and visualizes log files. Some features require payment.
  • Logback - Robust logging library with interesting configuration options via Groovy.
  • tinylog - Lightweight logging framework with static logger class.
  • OpenTracing Toolboxstars178 - Collection of libraries that build on top of OpenTracing and provide extensions and plugins to existing instrumentations.
  • Projects

    Machine Learning

  • Weka - Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only)
  • Projects

    Messaging

  • NATS clientstars372 - NATS client.
  • Projects

    Microservice

  • Apollo - Libraries for writing composable microservices.
  • Micronaut - Modern full-stack framework with focus on modularity, minimal memory footprint and startup time.
  • Projects

    Miscellaneous

  • JBake - Static website generator.
  • JBotstars1.2k - Framework for building chatbots. (GPL-3.0-only)
  • Joda-Money - Basic currency and money classes and algorithms not provided by the JDK.
  • Modernizerstars292 - Detect uses of legacy Java APIs.
  • OctoLinkerstars4.8k - Browser extension which allows to navigate through code on GitHub more efficiently.
  • Projects

    Monitoring

  • Failsafe Actuatorstars49 - Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment.
  • inspectIT - Captures detailed run-time information via hooks that can be changed on the fly. It supports tracing over multiple systems via the OpenTracing API and can correlate the data with end user monitoring.
  • Metricsstars7.5k - Expose metrics via JMX or HTTP and send them to a database.
  • Projects

    Natural Language Processing

  • LingPipe - Toolkit for tasks ranging from POS tagging to sentiment analysis.
  • Projects

    Networking

  • Dubbostars36.5k - High-performance RPC framework.
  • Grizzly - NIO framework. Used as a network layer in Glassfish.
  • Driftstars198 - Easy-to-use, annotation-based library for creating Thrift clients and serializable types.
  • Projects

    ORM

  • Domastars297 - Database access framework that verifies and generates source code at compile time using annotation processing as well as native SQL templates called two-way SQL.
  • Ebean - Provides simple and fast data access.
  • EclipseLink - Supports a number of persistence standards: JPA, JAXB, JCA and SDO.
  • Hibernate - Robust and widely used, with an active community. (LGPL-2.1-only)
  • MyBatisstars16.5k - Couples objects with stored procedures or SQL statements.
  • Projects

    PaaS

  • AWS Elastic Beanstalk c - AWS-based, with support for Tomcat and Jetty.
  • AWS Lambda c - Serverless computation.
  • Microsoft Azure c - Microsoft's cloud infrastructure.
  • Projects

    PDF

  • Apache FOP - Creates PDFs from XSL-FO.
  • iText c - Creates PDF files programmatically.
  • Projects

    Performance analysis

  • fastThread c - Analyze and visualize thread dumps with a free cloud-based upload interface.
  • GCeasy c - Tool to analyze and visualize GC logs. It provides a free cloud-based upload interface.
  • JMH - Harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. (GPL-2.0 only WITH Classpath-exception-2.0)
  • Projects

    Apache Commons

  • BCEL - Byte Code Engineering Library - analyze, create, and manipulate Java class files.
  • BeanUtils - Easy-to-use wrappers around the Java reflection and introspection APIs.
  • BeanUtils2 - Redesign of Commons BeanUtils.
  • BSF - Bean Scripting Framework - interface to scripting languages, including JSR-223.
  • Chain - Chain of Responsibility pattern implementation.
  • ClassScan - Find Class interfaces, methods, fields, and annotations without loading.
  • CLI - Command-line arguments parser.
  • CLI2 - Redesign of Commons CLI.
  • Codec - General encoding/decoding algorithms, e.g. phonetic, base64 or URL.
  • Collections - Extends or augments the Java Collections Framework.
  • Compress - Defines an API for working with tar, zip and bzip2 files.
  • Configuration - Reading of configuration/preferences files in various formats.
  • Convert - Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another.
  • CSV - Component for reading and writing comma separated value files.
  • Daemon - Alternative invocation mechanism for unix-daemon-like java code.
  • DBCP - Database connection pooling services.
  • DbUtils - JDBC helper library.
  • Digester - XML-to-Java-object mapping utility.
  • Email - Library for sending e-mail from Java.
  • Exec - API for dealing with external process execution and environment management in Java.
  • FileUpload - File upload capability for your servlets and web applications.
  • Finder - Java library inspired by the UNIX find command.
  • Flatfile - Java library for working with flat data structures.
  • Functor - Function that can be manipulated as an object, or an object representing a single, generic function.
  • Graph - General purpose graph APIs and algorithms.
  • I18n - Adds the feature of localized message bundles that consist of one or many localized texts that belong together.
  • Id - Id is a component used to generate identifiers.
  • Imaging - Image library.
  • IO - Collection of I/O utilities.
  • Javaflow - Continuation implementation to capture the state of the application.
  • JCI - Java Compiler Interface.
  • JCS - Java Caching System.
  • Jelly - XML based scripting and processing engine.
  • Jexl - Expression language which extends the Expression Language of the JSTL.
  • JNet - JNet allows to use dynamically register url stream handlers through the java.net API.
  • JXPath - Utilities for manipulating Java Beans using the XPath syntax.
  • Lang - Provides extra functionality for classes in java.lang.
  • Logging - Wrapper around a variety of logging API implementations.
  • Math - Lightweight, self-contained mathematics and statistics components.
  • Monitoring - Monitoring aims to provide a simple but extensible monitoring solution for Java applications.
  • Nabla - Nabla provides automatic differentiation classes that can generate derivative of any function implemented in the Java language.
  • Net - Collection of network utilities and protocol implementations.
  • OGNL - Object-graph navigation language.
  • OpenPGP - Interface to signing and verifying data using OpenPGP.
  • Performance - Small framework for microbenchmark clients, with implementations for Commons DBCP and Pool.
  • Pipeline - Provides a set of pipeline utilities designed around work queues that run in parallel to sequentially process data objects.
  • Pool - Generic object pooling component.
  • Proxy - Library for creating dynamic proxies.
  • RDF - Common implementation of RDF 1.1 that could be implemented by systems on the JVM.
  • RNG - Commons Rng provides implementations of pseudo-random numbers generators.
  • SCXML - Implementation of the State Chart XML specification aimed at creating and maintaining a Java SCXML engine.
  • Validator - Framework to define validators and validation rules in an xml file.
  • VFS - Virtual File System component for treating files, FTP, SMB, ZIP and such like as a single logical file system.
  • Weaver - Provides an easy way to enhance (weave) compiled bytecode.
  • Projects

    Other

  • CUBA Platform - High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin.
  • Light-4Jstars3.3k - Fast, lightweight and productive microservices framework with built-in securitystars270.
  • Orienteerstars158 - Open-source business application platform for rapid configuration/development of CRM, ERP, LMS and other applications.
  • Spring - Provides many packages for dependency injection, aspect-oriented programming, security, etc.
  • Projects

    Reactive libraries

  • Reactorstars3.9k - Library for building reactive fast-data applications.
  • Projects

    REST Frameworks

  • Dropwizardstars8.1k - Opinionated framework for setting up modern web applications with Jetty, Jackson, Jersey and Metrics.
  • Elide - Opinionated framework for JSON- or GraphQL-APIs based on a JPA data model.
  • Microserverstars931 - Convenient, extensible microservices plugin system for Spring & Spring Boot. With more than 30 plugins and growing, it supports both micro-monolith and pure microservices styles.
  • RESTEasy - Fully certified and portable implementation of the JAX-RS specification.
  • Projects

    Science

  • DataMelt - Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later)
  • JFreeChart - 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only)
  • Morpheusstars215 - Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM.
  • Tablesawstars2.8k - Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data.
  • Projects

    Search

  • Apache Solr - Enterprise search engine optimized for high-volume traffic.
  • Projects

    Server

  • Jetty - Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations.
  • WildFly - Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only)
  • Projects

    Template Engine

  • Handlebars.java - Logicless and semantic Mustache templates.
  • Thymeleaf - Aims to be a substitute for JSP and works for XML files.
  • Projects

    Asynchronous

  • Awaitilitystars2.8k - DSL for synchronizing asynchronous operations.
  • GreenMail - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only)
  • REST Assuredstars5.6k - DSL for easy testing of REST/HTTP services.
  • Projects

    BDD

  • Cukes-RESTstars97 - Collection of Gherkin steps for REST-service testing using Cucumber.
  • JBehave - Extensively configurable framework that describes stories.
  • Serenity BDDstars590 - Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications.
  • Projects

    Frameworks

  • JUnit - Common testing framework.
  • Projects

    Matchers

  • AssertJ - Fluent assertions that improve readability.
  • Hamcrest - Matchers that can be combined to create flexible expressions of intent.
  • Projects

    Miscellaneous

  • pojo-tester - Automatically performs tests on basic POJO methods. (LGPL-3.0-only)
  • Projects

    Mocking

  • PowerMockstars3.7k - Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers.
  • Projects

    Utility

  • cactoosstars650 - Collection of object-oriented primitives.
  • Embulkstars1.6k - Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services.
  • JGit - Lightweight, pure Java library implementing the Git version control system.
  • Projects

    Version Managers

  • jenvstars4k - Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS.
  • Projects

    Web Frameworks

  • Bladestars5.6k - Lightweight, modular framework that aims to be elegant and simple.
  • Jooby - Scalable, fast and modular micro-framework that offers multiple programming models.
  • PrimeFaces - JSF framework with both free and commercial/support versions and frontend components.
  • Vaadin - Event-driven framework that uses standard web components. Server-side architecture with Ajax on the client side.
  • Resources

    Communities

  • r/java - Subreddit for the Java community.
  • Feb 1st, 2020

    Projects

    Database

  • Modalitystars10 - Lightweight ORM with database reverse engineering features.
  • eXiststars320 - NoSQL document database and application platform. (LGPL-2.1-only)
  • Redissonstars17.8k - Allows for distributed and scalable data structures on top of a Redis server.
  • requerystars3.1k - Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform.
  • Projects

    Bean Mapping

  • JMapperstars178 - Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration.
  • ModelMapperstars1.9k - Intelligent object mapping library that automatically maps objects to each other.
  • Projects

    Build

  • Bazel - Tool from Google that builds code quickly and reliably.
  • Projects

    Bytecode Manipulation

  • ASM - All-purpose, low-level bytecode manipulation and analysis.
  • Byte Buddy - Further simplifies bytecode generation with a fluent API.
  • Javassiststars3.4k - Tries to simplify bytecode editing.
  • Projects

    Caching

  • Infinispan - Highly concurrent key/value datastore used for caching.
  • Projects

    CLI

  • JOpt Simple - Fluent parser that uses the POSIX#getopt and GNU#getopt_long syntaxes.
  • picocli - ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args.
  • Projects

    Code Coverage

  • Clover - Relies on source-code instrumentation instead of bytecode instrumentation.
  • Cobertura - Relies on offline (or static) bytecode instrumentation and class loading to collect code coverage metrics. (GPL-2.0-only)
  • JaCoCo - Framework that enables collection of code coverage metrics, using both offline and runtime bytecode instrumentation.
  • Projects

    Code Generators

  • FreeBuilderstars789 - Automatically generates the Builder pattern.
  • Joda-Beans - Small framework that adds queryable properties to Java, enhancing JavaBeans.
  • Projects

    Compiler-compiler

  • ANTLR - Complex full-featured framework for top-down parsing.
  • JavaCC - Parser generator that generates top-down parsers. Allows lexical state switching and permits extended BNF specifications.
  • JFlex - Lexical analyzer generator.
  • Projects

    Configuration

  • dotenvstars38 - Twelve-factor configuration library which uses environment-specific files.
  • Projects

    Constraint Satisfaction Problem Solver

  • Choco - Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques.
  • Projects

    CSV

  • Super CSV - Powerful CSV parser with support for Dozer, Joda-Time and Java 8.
  • Projects

    Data Structures

  • Apache Avro - Data interchange format with dynamic typing, untagged data, and absence of manually assigned IDs.
  • Apache Orc - Fast and efficient columnar storage format for Hadoop-based workloads.
  • Apache Parquet - Columnar storage format based on assembly algorithms from Google's paper on Dremel.
  • Apache Thrift - Data interchange format that originated at Facebook.
  • Big Queuestars480 - Fast and persistent queue based on memory-mapped files.
  • HyperMinHash-javastars45 - Probabilistic data structure for computing union, intersection, and set cardinality in loglog space.
  • Persistent Collectionstars681 - Persistent and immutable analogue of the Java Collections Framework.
  • Protobufstars51.9k - Google's data interchange format.
  • SBEstars2.5k - Simple Binary Encoding, one of the fastest message formats around.
  • Tapestars2.4k - Lightning-fast, transactional, file-based FIFO.
  • Wirestars3.7k - Clean, lightweight protocol buffers.
  • Projects

    Date and Time

  • Almanac Converter - Simple conversion between different calendar systems.
  • Projects

    Dependency Injection

  • Dagger - Compile-time injection framework without reflection.
  • HK2 - Lightweight and dynamic dependency injection framework.
  • Projects

    Development

  • AspectJ - Seamless aspect-oriented programming extension.
  • JavaSymbolSolverstars283 - Symbol solver.
  • Manifoldstars1.2k - Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods.
  • Projects

    Distributed Applications

  • Axon - Framework for creating CQRS applications.
  • Quasar - Lightweight threads and actors for the JVM.
  • ScaleCube Servicesstars523 - Embeddable Cluster-Membership library based on SWIM and gossip protocol.
  • Zuulstars11.5k - Gateway service that provides dynamic routing, monitoring, resiliency, security, and more.
  • Projects

    Distributed Transactions

  • Bitronixstars395 - Simple but complete implementation of the JTA 1.1 API.
  • Narayana - Provides support for traditional ACID and compensation transactions, also complies with JTA, JTS and other standards. (LGPL-2.1-only)
  • Projects

    Distribution

  • Capsulestars1.1k - Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers.
  • Nexus c - Binary management with proxy and caching capabilities.
  • packrstars2.3k - Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS.
  • Projects

    Document Processing

  • documents4j - API for document format conversion using third-party converters such as MS Word.
  • Projects

    Financial

  • Squarestars37 - Integration with the Square API.
  • Stripestars573 - Integration with the Stripe API.
  • Projects

    Formal Verification

  • Daikon - Detects likely program invariants and generates JML specs based on those invariants.
  • JMLOK 2.0 - Detects inconsistencies between code and JML specification through feedback-directed random tests generation, and suggests a likely cause for each nonconformance detected. (GPL-3.0-only)
  • KeY - Formal software development tool that aims to integrate design, implementation, formal specification, and formal verification of object-oriented software as seamlessly as possible. Uses JML for specification and symbolic execution for verification. (GPL-2.0-or-later)
  • OpenJML - Translates JML specifications into SMT-LIB format and passes the proof problems implied by the program to backend solvers. (GPL-2.0-only)
  • Projects

    Geospatial

  • H2GIS - Spatial extension of the H2 database. (LGPL-3.0-only)
  • Projects

    GUI

  • JavaFX - Successor of Swing.
  • Projects

    Imagery

  • Tess4Jstars1.1k - JNA wrapper for Tesseract OCR API.
  • Projects

    Logging

  • SLF4J - Abstraction layer/simple logging facade.
  • Projects

    Machine Learning

  • Smilestars5.4k - Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library.
  • Projects

    Microservice

  • Armeriastars3.4k - Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC.
  • consul-apistars387 - Client for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service.
  • Eurekastars10.9k - REST-based service registry for resilient load balancing and failover.
  • Helidon - Two-style approach for writing microservices: Functional-reactive and as an implementation of MicroProfile.
  • Nacos - Dynamic service discovery, configuration and service management platform for building cloud native applications.
  • Quarkus - Kubernetes stack tailored for the HotSpot and Graal VM.
  • Projects

    Miscellaneous

  • Membrane Service Proxystars363 - Open-source, reverse-proxy framework.
  • PipelinRstars191 - Small utility library for using handlers and commands with pipelines.
  • Simple Java Mailstars918 - Mailing with a clean and fluent API.
  • Projects

    Performance analysis

  • honest-profilerstars1.2k - Low-overhead, bias-free sampling profiler.
  • Projects

    REST Frameworks

  • Rapidoid - Simple, secure and extremely fast framework consisting of an embedded HTTP server, GUI components and dependency injection.
  • Projects

    Science

  • XChartstars1.2k - Light-weight library for plotting data. Many customizable chart types are available.
  • Projects

    Fixtures

  • Java Fakerstars3.1k - Port of Ruby's fake data generator.
  • Projects

    Miscellaneous

  • junit-dataproviderstars230 - TestNG-like data provider/runner for JUnit.
  • Projects

    Utility

  • fswatchstars21 - Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService.
  • Projects

    Version Managers

  • jabbastars2.1k - Java Version Manager inspired by nvm. Supports macOS, Linux and Windows.
  • Resources

    Communities

  • Stack Overflow - Question/answer platform.
  • Jan 20th, 2020

    Projects

    Distribution

  • jlink.onlinestars1 - Builds optimized runtimes over HTTP.
  • Jan 16th, 2020

    Projects

    Financial

  • Paritystars493 - Platform for trading venues.
  • Philadelphiastars249 - Low-latency financial information exchange.
  • Jan 14th, 2020

    Projects

    Miscellaneous

  • yGuardstars173 - Obfuscation via renaming and shrinking.
  • Jan 3rd, 2020

    Projects

    Frameworks

  • jqwik - Engine for property-based testing built on JUnit 5.
  • Dec 29th, 2019

    Projects

    REST Frameworks

  • springdoc-openapistars1.5k - Automates the generation of API documentation using Spring Boot projects.
  • Projects

    Database

  • Leafstars5k - Distributed ID generate service.
  • Projects

    Messaging

  • Apache RocketMQ - Fast, reliable, and scalable distributed messaging platform.
  • Dec 25th, 2019

    Projects

    Code Analysis

  • Sourcetrail - Visual source code navigator.
  • Projects

    PaaS

  • Google Cloud c - Google's cloud infrastructure.
  • OpenShift c - Provides additionally an on-premise solution.
  • Dec 11th, 2019

    Projects

    Job Scheduling

  • Quartzstars4.7k - Feature-rich, open source job scheduling library that can be integrated within virtually any Java application.
  • Sundialstars239 - Lightweight framework to simply define jobs, define triggers and start the scheduler.
  • Wispstars78 - Simple library with minimal footprint and straightforward API.
  • db-schedulerstars461 - Persistent and cluster-friendly scheduler.
  • Projects

    Matchers

  • Truth - Google's fluent assertion and proposition framework.
  • Projects

    CLI

  • Jexer - Advanced console (and Swing) text user interface (TUI) library, with mouse-draggable windows, built-in terminal window manager, and sixel image support. Looks like Turbo Vision.
  • Projects

    PDF

  • OpenPDFstars2.2k - Open-source iText fork. (LGPL-3.0-only & MPL-2.0)
  • Resources

    Twitter

  • Chris Richardson - Software architect, consultant, and serial entrepreneur, Java Champion, JavaOne Rock Star, *POJOs in Action- author.
  • Nov 24th, 2019

    Projects

    JVM and JDK

  • Adopt Open JDK - Community-driven OpenJDK builds, including both HotSpot and OpenJ9.
  • Open JDK - Open JDK community home. (GPL-2.0-only WITH Classpath-exception-2.0)
  • Nov 10th, 2019

    Projects

    Networking

  • ServiceTalkstars716 - Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms.
  • Nov 8th, 2019

    Projects

    Database

  • druid - High-performance, column-oriented, distributed data store.
  • Projects

    Introspection

  • Objenesis - Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions.
  • Resources

    Twitter

  • Vlad Mihalcea - Java Champion working on Hypersistence Optimizer, database aficionado, author of High-Performance Java Persistence book.
  • Spencer Gibb - Software Engineer, Dad, Geek, Co-founder and Lead of Spring Cloud Core @pivotal.
  • Projects

    IDE

  • jGRASP - Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer.
  • Projects

    Bytecode Manipulation

  • Persesstars55 - Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering.
  • Projects

    Bean Mapping

  • reMapstars89 - Lambda and method handle-based mapping which requires code and not annotations if objects have different names.
  • Oct 15th, 2019

    Projects

    Introspection

  • ClassGraphstars2.1k - ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages.
  • ReflectASMstars1.3k - ReflectASM is a very small Java library that provides high performance reflection by using code generation.
  • Reflectionsstars3.9k - Reflections scans your classpath, indexes the metadata, allows you to query it on runtime and may save and collect that information for many modules within your project.
  • Oct 8th, 2019

    Projects

    Matchers

  • XMLUnitstars248 - Simplifies testing for XML output.
  • Oct 3rd, 2019

    Projects

    Distribution

  • Boxfuse c - Deployment of JVM applications to AWS using the principles of immutable infrastructure.
  • Projects

    Bytecode Manipulation

  • bytecode-viewerstars12.6k - Java 8 Jar & Android APK reverse engineering suite. (GPL-3.0-only)
  • Byteman - Manipulate bytecode at runtime via DSL (rules); mainly for testing/troubleshooting. (LGPL-2.1-or-later)
  • Projects

    CLI

  • Lanternastars1.7k - Easy console text-GUI library, similar to curses. (LGPL-3.0-only)
  • Projects

    Code Analysis

  • Checkstylestars6.5k - Static analysis of coding conventions and standards. (LGPL-2.1-or-later)
  • jQAssistant - Static code analysis with Neo4J-based query language. (GPL-3.0-only)
  • SonarJavastars842 - Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only)
  • Spotbugsstars2.5k - Static analysis of bytecode to find potential bugs. (LGPL-2.1-only)
  • Projects

    Constraint Satisfaction Problem Solver

  • JaCoPstars188 - Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0)
  • Projects

    Date and Time

  • Time4Jstars347 - Advanced date and time library. (LGPL-2.1-only)
  • Projects

    Dependency Injection

  • JayWirestars49 - Lightweight dependency injection framework. (LGPL-3.0-only)
  • Projects

    Development

  • DCEVM - JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only)
  • HotswapAgentstars1.7k - Unlimited runtime class and resource redefinition. (GPL-2.0-only)
  • Projects

    Distributed Applications

  • Dropwizard Circuit Breakerstars40 - Circuit breaker design pattern for Dropwizard. (GPL-2.0-only)
  • Atomix - Fault-tolerant distributed coordination framework.
  • Projects

    Formal Verification

  • Checker Framework - Pluggable type systems. Includes nullness types, physical units, immutability types and more. (GPL-2.0-only WITH Classpath-exception-2.0)
  • Java Path Finder (JPF)stars330 - JVM formal verification tool containing a model checker and more. Created by NASA.
  • Projects

    Functional Programming

  • derive4jstars524 - Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only)
  • Projects

    Geospatial

  • GeoTools - Library that provides tools for geospatial data. (LGPL-2.1-only)
  • Mapsforgestars932 - Map rendering based on OpenStreetMap data. (LGPL-3.0-only)
  • Projects

    JVM and JDK

  • Graalstars16.2k - Polyglot embeddable JVM. (GPL-2.0-only WITH Classpath-exception-2.0)
  • ParparVM - VM with non-blocking, concurrent GC for iOS. (GPL-2.0-only WITH Classpath-exception-2.0)
  • RedHat Open JDK - RedHat's OpenJDK distribution. (GPL-2.0-only WITH Classpath-exception-2.0)
  • Projects

    Logging

  • Graylog - Open-source aggregator suited for extended role and permission management. (GPL-3.0-only)
  • Projects

    Machine Learning

  • JSATstars716 - Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only)
  • Projects

    Miscellaneous

  • FizzBuzz Enterprise Editionstars16k - No-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. (No explicit license)
  • Projects

    Natural Language Processing

  • CogCompNLPstars430 - Provides common annotators for plain text input. (Research and Academic Use License)
  • CoreNLP - Provides a set of fundamental tools for tasks like tagging, named entity recognition, and sentiment analysis. (GPL-3.0-or-later)
  • Projects

    Networking

  • Undertow - Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only)
  • urnlibstars21 - Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only)
  • Projects

    PDF

  • Dynamic Jasper - Abstraction layer to JasperReports. (LGPL-3.0-only)
  • DynamicReportsstars