awesome-java
Java toolset
A curated list of tools and frameworks for building, designing, and managing Java applications
A curated list of awesome frameworks, libraries and software for the Java programming language.
42k stars
2k watching
7k forks
last commit: 12 months ago
Linked from 16 awesome lists
awesomeawesome-list
Awesome Java / Projects / Architecture | |||
| ArchUnit | 3,266 | 11 months ago | Test library for specifying and asserting architecture rules |
| jMolecules | 1,278 | 12 months ago | Annotations and interfaces to express design and architecture concepts in code |
Awesome Java / Projects / Bean Mapping | |||
| dOOv | 92 | almost 3 years ago | Provides fluent API for typesafe domain model validation and mapping. It uses annotations, code generation and a type safe DSL to make bean validation and mapping fast and easy |
| JMapper | 231 | about 2 years ago | Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration |
| MapStruct | 7,178 | 11 months ago | Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach |
| ModelMapper | 2,297 | 11 months ago | Intelligent object mapping library that automatically maps objects to each other |
| Orika | 1,305 | about 1 year ago | JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another |
| reMap | 122 | over 1 year ago | Lambda and method handle-based mapping which requires code and not annotations if objects have different names |
| Selma | 213 | almost 6 years ago | Annotation processor-based bean mapper |
Awesome Java / Projects / Build | |||
| Apache Maven | Declarative build and dependency management that favors convention over configuration. It might be preferable to Apache Ant, which uses a rather procedural approach and can be difficult to maintain | ||
| Bazel | Tool from Google that builds code quickly and reliably | ||
| Buck2 | 3,634 | 11 months ago | Encourages the creation of small, reusable modules consisting of code and resources |
| Gradle | Incremental builds programmed via Groovy instead of declaring XML. Works well with Maven's dependency management | ||
Awesome Java / Projects / Bytecode Manipulation | |||
| ASM | All-purpose, low-level bytecode manipulation and analysis | ||
| Byte Buddy | Further simplifies bytecode generation with a fluent API | ||
| bytecode-viewer | 14,733 | about 1 year ago | 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) | ||
| cglib | 4,810 | about 1 year ago | Bytecode generation library |
| Javassist | 4,127 | about 1 year ago | Tries to simplify bytecode editing |
| Maker | 55 | 11 months ago | Provides low level bytecode generation |
| Mixin | 1,437 | about 1 year ago | Manipulate bytecode at runtime using real Java code |
| Perses | 66 | about 4 years ago | Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering |
| Recaf | JVM reverse engineering toolkit, essentially an IDE for Java bytecode | ||
Awesome Java / Projects / Caching | |||
| cache2k | In-memory high performance caching library | ||
| Caffeine | 15,998 | 11 months ago | High-performance, near-optimal caching library |
| Ehcache | Distributed general-purpose cache | ||
| Infinispan | Highly concurrent key/value datastore used for caching | ||
Awesome Java / Projects / CLI | |||
| Airline | Annotation-based framework for parsing Git-like command-line arguments | ||
| JCommander | Command-line argument-parsing framework with custom types and validation via implementing interfaces | ||
| jbock | 87 | 12 months ago | Reflectionless command line parser |
| JLine | 1,495 | 11 months ago | Includes features from modern shells like completion or history |
| picocli | ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args | ||
| Jansi | 1,126 | about 1 year ago | ANSI escape codes to format console output |
| 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 | ||
| Text-IO | 343 | almost 2 years ago | Aids the creation of full console-based applications |
| Lanterna | 2,311 | 12 months ago | Easy console text-GUI library, similar to curses. (LGPL-3.0-only) |
Awesome Java / Projects / Code Analysis | |||
| Checkstyle | 8,375 | 11 months ago | Static analysis of coding conventions and standards. (LGPL-2.1-or-later) |
| Error Prone | 6,878 | 11 months ago | Catches common programming mistakes as compile-time errors |
| Error Prone Support | 201 | 11 months ago | Error Prone extensions: extra bug checkers and a large battery of Refaster templates |
| Infer | 15,024 | 11 months ago | Modern static analysis tool for verifying the correctness of code |
| jQAssistant | Static code analysis with Neo4J-based query language. (GPL-3.0-only) | ||
| NullAway | 3,645 | 11 months ago | Eliminates NullPointerExceptions with low build-time overhead |
| PMD | 4,907 | 11 months ago | Source code analysis for finding bad coding practices |
| p3c | 30,503 | about 1 year ago | Provides Alibaba's coding guidelines for PMD, IDEA and Eclipse |
| RefactorFirst | 459 | 11 months ago | Identifies and prioritizes God Classes and Highly Coupled classes |
| SonarJava | 1,144 | 11 months ago | Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) |
| Spoon | 1,765 | 11 months ago | Library for analyzing and transforming Java source code |
| Spotbugs | 3,533 | 11 months ago | Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) |
Awesome Java / 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 | ||
Awesome Java / Projects / Code Generators | |||
| ADT4J | 145 | over 7 years ago | JSR-269 code generator for algebraic data types |
| Auto | 10,441 | 11 months ago | Generates factory, service, and value classes |
| Avaje Http Server | Generates Lightweight JAX-RS style http servers using Javalin or Helidon (Nima) SE | ||
| Bootify | Browser-based Spring Boot app generation with JPA model and REST API | ||
| FreeBuilder | 837 | about 1 year ago | Automatically generates the Builder pattern |
| Geci | 130 | over 3 years ago | Discovers files that need generated code, updates automatically and writes to the source with a convenient API |
| Immutables | Annotation processors to generate simple, safe and consistent value objects | ||
| JavaPoet | 10,836 | about 1 year ago | API to generate source files |
| JHipster | 21,622 | 11 months ago | Yeoman source code generator for Spring Boot and AngularJS |
| Joda-Beans | Small framework that adds queryable properties to Java, enhancing JavaBeans | ||
| JPA Buddy | Plugin for IntelliJ IDEA. Provides visual tools for generating JPA entities, Spring Data JPA repositories, Liquibase changelogs and SQL scripts. Offers automatic Liquibase/Flyway script generation by comparing model to DB, and reverse engineering JPA entities from DB tables | ||
| Lombok | Code generator that aims to reduce verbosity | ||
| Record-Builder | 766 | 11 months ago | Companion builder class, withers and templates for Java records |
| Telosys | Simple and light code generator available as an Eclipse Plugin and also as a CLI | ||
Awesome Java / 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 | ||
Awesome Java / Projects / Computer Vision | |||
| BoofCV | Library for image processing, camera calibration, tracking, SFM, MVS, 3D vision, QR Code and much more | ||
| ImageJ | Medical image processing application with an API | ||
| JavaCV | 7,626 | 11 months ago | Java interface to OpenCV, FFmpeg, and much more |
Awesome Java / Projects / Configuration | |||
| avaje config | Loads yaml and properties files, supports dynamic configuration, plugins, file-watching and config event listeners | ||
| centraldogma | 605 | 11 months ago | Highly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2 |
| config | 6,175 | about 1 year ago | Configuration library supporting Java properties, JSON or its human optimized superset HOCON |
| Configurate | 386 | 11 months ago | Configuration library with support for various configuration formats and transformations |
| Curator Framework | High-level API for Apache ZooKeeper | ||
| dotenv | 46 | over 7 years ago | Twelve-factor configuration library which uses environment-specific files |
| Externalized Properties | 27 | about 1 year ago | Lightweight yet powerful configuration library which supports resolution of properties from external sources and an extensible post-processing/conversion mechanism |
| Gestalt | 84 | 11 months ago | Gestalt offers a comprehensive solution to the challenges of configuration management. It allows you to source configuration data from multiple inputs, merge them intelligently, and present them in a structured, type-safe manner |
| ini4j | Provides an API for handling Windows' INI files | ||
| KAConf | 60 | over 3 years ago | Annotation-based configuration system for Java and Kotlin |
| 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 | ||
| owner | 918 | 11 months ago | Reduces boilerplate of properties |
Awesome Java / Projects / Constraint Satisfaction Problem Solver | |||
| Choco | Off-the-shelf constraint satisfaction problem solver that uses constraint programming techniques | ||
| JaCoP | 220 | almost 2 years ago | Includes an interface for the FlatZinc language, enabling it to execute MiniZinc models. (AGPL-3.0) |
| OptaPlanner | Business planning and resource scheduling optimization solver | ||
| Timefold | Flexible solver with Spring/Quarkus support and quickstarts for the Vehicle Routing Problem, Maintenance Scheduling, Employee Shift Scheduling and much more | ||
Awesome Java / Projects / CSV | |||
| FastCSV | 562 | 12 months ago | Performance-optimized, dependency-free and RFC 4180 compliant |
| jackson-dataformat-csv | 194 | almost 8 years ago | Jackson extension for reading and writing CSV |
| opencsv | Simple CSV parser | ||
| Super CSV | Powerful CSV parser with support for Dozer, Joda-Time and Java 8 | ||
| uniVocity-parsers | 914 | about 1 year ago | One of the fastest and most feature-complete parsers. Also comes with parsers for TSV and fixed-width records |
Awesome Java / 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 Queue | 559 | over 3 years ago | Fast and persistent queue based on memory-mapped files |
| HyperMinHash-java | 54 | over 2 years ago | Probabilistic data structure for computing union, intersection, and set cardinality in loglog space |
| Persistent Collection | 765 | over 1 year ago | Persistent and immutable analogue of the Java Collections Framework |
| Protobuf | 65,999 | 11 months ago | Google's data interchange format |
| RoaringBitmap | 3,586 | 11 months ago | Fast and efficient compressed bitmap |
| SBE | 3,136 | 11 months ago | Simple Binary Encoding, one of the fastest message formats around |
| Tape | 2,465 | over 2 years ago | Lightning-fast, transactional, file-based FIFO |
| Wire | 4,266 | 11 months ago | Clean, lightweight protocol buffers |
Awesome Java / Projects / Database | |||
| Apache Calcite | Dynamic data management framework. It contains many of the pieces that comprise a typical database management system | ||
| Apache Drill | Distributed, schema on-the-fly, ANSI SQL query engine for Big Data exploration | ||
| Apache Phoenix | High-performance relational database layer over HBase for low-latency applications | ||
| ArangoDB | 201 | 11 months ago | ArangoDB Java driver |
| Chronicle Map | 2,800 | 12 months ago | Efficient, in-memory (opt. persisted to disk), off-heap key-value store |
| Debezium | Low latency data streaming platform for change data capture | ||
| druid | High-performance, column-oriented, distributed data store | ||
| eXist | 430 | 11 months ago | NoSQL document database and application platform. (LGPL-2.1-only) |
| FlexyPool | 1,099 | about 1 year ago | Brings metrics and failover strategies to the most common connection pooling solutions |
| Flyway | Simple database migration tool | ||
| H2 | Small SQL database notable for its in-memory functionality | ||
| HikariCP | 20,094 | 11 months ago | High-performance JDBC connection pool |
| HSQLDB | HyperSQL 100% Java database | ||
| JDBI | Convenient abstraction of JDBC | ||
| Jedis | 11,909 | 11 months ago | Small client for interaction with Redis, with methods for commands |
| Jest | 2,114 | over 2 years ago | Client for the Elasticsearch REST API |
| jetcd | 137 | over 2 years ago | Client library for etcd |
| Jinq | 661 | almost 2 years ago | Typesafe database queries via symbolic execution of Java 8 Lambdas (on top of JPA or jOOQ) |
| jOOQ | Generates typesafe code based on SQL schema | ||
| Leaf | 6,490 | over 2 years ago | Distributed ID generate service |
| Lettuce | Lettuce is a scalable Redis client for building non-blocking Reactive applications | ||
| Liquibase | Database-independent library for tracking, managing and applying database schema changes | ||
| MapDB | Embedded database engine that provides concurrent collections backed on disk or in off-heap memory | ||
| MariaDB4j | 11 | over 1 year ago | Launcher for MariaDB that requires no installation or external dependencies |
| Modality | 13 | about 1 year ago | Lightweight ORM with database reverse engineering features |
| OpenDJ | 374 | 12 months ago | LDAPv3 compliant directory service, developed for the Java platform, providing a high performance, highly available, and secure store for the identities |
| Querydsl | Typesafe unified queries | ||
| QueryStream | 19 | almost 2 years ago | Build JPA Criteria queries using a Stream-like API |
| QuestDB | 14,699 | 11 months ago | High-performance SQL database for time series. Supports InfluxDB line protocol, PostgreSQL wire protocol, and REST |
| Realm | 11,472 | about 1 year ago | Mobile database to run directly inside phones, tablets or wearables |
| Redisson | 23,457 | 11 months ago | Allows for distributed and scalable data structures on top of a Redis server |
| requery | 3,138 | over 3 years ago | 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 |
| Speedment | 2,093 | almost 2 years ago | Database access library that utilizes Java 8's Stream API for querying |
| Spring Data JPA MongoDB Expressions | 96 | over 1 year ago | Allows you to use MongoDB query language to query your relational database |
| Trino | Distributed SQL query engine for big data | ||
| Vibur DBCP | JDBC connection pool library with advanced performance monitoring capabilities | ||
| Xodus | 1,196 | 11 months ago | Highly concurrent transactional schema-less and ACID-compliant embedded database |
| CosId | 503 | 11 months ago | Universal, flexible, high-performance distributed ID generator |
Awesome Java / Projects / Date and Time | |||
| iCal4j | 770 | 11 months ago | Parse and build iCalendar data models |
| Jollyday | 190 | over 1 year ago | Determines the holidays for a given year, country/name and eventually state/region |
| ThreeTen-Extra | 399 | over 1 year ago | Additional date-time classes that complement those in JDK 8 |
| Time4J | 442 | over 1 year ago | Advanced date and time library. (LGPL-2.1-only) |
Awesome Java / Projects / Dependency Injection | |||
| Apache DeltaSpike | CDI extension framework | ||
| Avaje Inject | Microservice-focused compile-time injection framework without reflection | ||
| Dagger | Compile-time injection framework without reflection | ||
| Feather | 356 | over 7 years ago | Ultra-lightweight, JSR-330-compliant dependency injection library |
| Governator | 827 | over 2 years ago | Extensions and utilities that enhance Google Guice |
| Guice | 12,519 | 12 months ago | Lightweight and opinionated framework that completes Dagger |
| HK2 | Lightweight and dynamic dependency injection framework | ||
| JayWire | 57 | over 2 years ago | Lightweight dependency injection framework. (LGPL-3.0-only) |
Awesome Java / Projects / Development | |||
| AspectJ | Seamless aspect-oriented programming extension | ||
| DCEVM | JVM modification that allows unlimited redefinition of loaded classes at runtime. (GPL-2.0-only) | ||
| Faux Pas | 133 | over 2 years ago | Library that simplifies error handling by circumventing the issue that none of the functional interfaces in the Java Runtime is allowed by default to throw checked exceptions |
| HotswapAgent | 2,376 | 11 months ago | Unlimited runtime class and resource redefinition. (GPL-2.0-only) |
| JavaParser | 5,479 | 11 months ago | Parse, modify and generate Java code |
| JavaSymbolSolver | 292 | almost 8 years ago | Symbol solver |
| Manifold | 2,432 | 12 months ago | Re-energizes Java with powerful features like type-safe metaprogramming, structural typing and extension methods |
| NoException | Allows checked exceptions in functional interfaces and converts exceptions to Optional return | ||
| SneakyThrow | 75 | about 6 years ago | Ignores checked exceptions without bytecode manipulation. Can also be used inside Java 8 stream operations |
| Tail | Enable infinite recursion using tail call optimization | ||
Awesome Java / Projects / Distributed Applications | |||
| Apache Geode | In-memory data management system that provides reliable asynchronous event notifications and guaranteed message delivery | ||
| Apache Storm | Realtime computation system | ||
| Apache ZooKeeper | Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems | ||
| Atomix | Fault-tolerant distributed coordination framework | ||
| Axon | Framework for creating CQRS applications | ||
| Dropwizard Circuit Breaker | 43 | almost 6 years ago | Circuit breaker design pattern for Dropwizard. (GPL-2.0-only) |
| Failsafe | 4,203 | over 1 year ago | Simple failure handling with retries and circuit breakers |
| Hazelcast | 6,183 | 11 months ago | Highly scalable in-memory datagrid with a free open-source version |
| JGroups | Toolkit for reliable messaging and cluster creation | ||
| Quasar | Lightweight threads and actors for the JVM | ||
| resilience4j | 9,836 | 11 months ago | Functional fault tolerance library |
| OpenIG | 75 | 11 months ago | High-performance reverse proxy server with specialized session management and credential replay functionality |
| ScaleCube Services | 616 | 11 months ago | Embeddable Cluster-Membership library based on SWIM and gossip protocol |
| Zuul | 13,560 | 11 months ago | Gateway service that provides dynamic routing, monitoring, resiliency, security, and more |
Awesome Java / Projects / Distributed Transactions | |||
| Atomikos | Provides transactions for REST, SOA and microservices with support for JTA and XA | ||
| Bitronix | 427 | over 1 year ago | 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) | ||
| Seata | 25,403 | 11 months ago | Delivers high performance and easy to use distributed transaction services under a microservices architecture |
Awesome Java / Projects / Distribution | |||
| Artipie | 523 | 11 months ago | Binary artifact management toolkit which hosts them on the file system or S3 |
| Boxfuse | Deployment of JVM applications to AWS using the principles of immutable infrastructure | ||
| Capsule | 1,150 | over 3 years ago | Simple and powerful packaging and deployment. A fat JAR on steroids, or a "Docker for Java" that supports JVM-optimized containers |
| Central Repository | Largest binary component repository available as a free service to the open-source community. Default used by Apache Maven, and available in all other build tools | ||
| Cloudsmith | Fully managed package management SaaS with support for Maven/Gradle/SBT with a free tier | ||
| Getdown | 510 | almost 2 years ago | System for deploying Java applications to end-user computers and keeping them up to date. Developed as an alternative to Java Web Start |
| IzPack | Setup authoring tool for cross-platform deployments | ||
| JavaPackager | 1,074 | about 1 year ago | Maven and Gradle plugin which provides an easy way to package Java applications in native Windows, macOS or GNU/Linux executables, and generate installers for them |
| jDeploy | Deploy desktop apps as native Mac, Windows or Linux bundles | ||
| jlink.online | 45 | 11 months ago | Builds optimized runtimes over HTTP |
| Nexus | Binary management with proxy and caching capabilities | ||
| packr | 2,574 | over 1 year ago | Packs JARs, assets and the JVM for native distribution on Windows, Linux and macOS |
| really-executable-jars-maven-plugin | 126 | about 2 years ago | Maven plugin for making self-executing JARs |
Awesome Java / Projects / Document Processing | |||
| Apache POI | Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT) | ||
| documents4j | API for document format conversion using third-party converters such as MS Word | ||
| docx4j | Create and manipulate Microsoft Open XML files | ||
| fastexcel | 698 | 11 months ago | High performance library to read and write large Excel (XLSX) worksheets |
| zerocell | 80 | 11 months ago | Annotation-based API for reading data from Excel sheets into POJOs with focus on reduced overhead |
Awesome Java / Projects / Financial | |||
| Cassandre | 588 | 11 months ago | Trading bot framework |
| Parity | 502 | over 3 years ago | Platform for trading venues |
| Philadelphia | 328 | 11 months ago | Low-latency financial information exchange |
| Square | 39 | almost 5 years ago | Integration with the Square API |
| Stripe | 831 | 11 months ago | Integration with the Stripe API |
| ta4j | 2,094 | 11 months ago | Library for technical analysis |
Awesome Java / Projects / Formal Verification | |||
| CATG | 102 | over 7 years ago | Concolic unit testing engine. Automatically generates unit tests using formal methods |
| Checker Framework | Pluggable type systems. Includes nullness types, physical units, immutability types and more. (GPL-2.0-only WITH Classpath-exception-2.0) | ||
| Daikon | Detects likely program invariants and generates JML specs based on those invariants | ||
| Java Path Finder (JPF) | 538 | about 1 year ago | JVM formal verification tool containing a model checker and more. Created by NASA |
| 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) | ||
Awesome Java / Projects / Functional Programming | |||
| Cyclops | 1,319 | over 2 years ago | Monad and stream utilities, comprehensions, pattern matching, functional extensions for all JDK collections, future streams, trampolines and much more |
| derive4j | 566 | almost 3 years ago | Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching and morphisms. (GPL-3.0-only) |
| Fugue | Functional extensions to Guava | ||
| Functional Java | Implements numerous basic and advanced programming abstractions that assist composition-oriented development | ||
| jOOλ | 2,092 | over 1 year ago | Extension to Java 8 that aims to fix gaps in lambda by providing numerous missing types and a rich set of sequential Stream API additions |
| protonpack | 480 | over 1 year ago | Collection of stream utilities |
| StreamEx | 2,217 | 12 months ago | Enhances Java 8 Streams |
| Vavr | Functional component library that provides persistent data types and functional control structures | ||
Awesome Java / Projects / Game Development | |||
| FXGL | JavaFX Game Development Framework | ||
| JBox2D | Port of the renowned C++ 2D physics engine | ||
| jMonkeyEngine | Game engine for modern 3D development | ||
| libGDX | All-round cross-platform, high-level framework | ||
| Litiengine | AWT-based, lightweight 2D game engine | ||
| LWJGL | Robust framework that abstracts libraries like OpenGL/CL/AL | ||
| Mini2Dx | Beginner-friendly, master-ready framework for rapidly prototyping and building 2D games | ||
| Void2D | High-level 2D game engine with built-in physics based on Swing | ||
Awesome Java / Projects / Geospatial | |||
| Apache SIS | Library for developing geospatial applications | ||
| ArcGIS Maps SDK for Java | 116 | 11 months ago | JavaFX library for adding mapping and GIS functionality to desktop apps |
| Geo | 413 | 11 months ago | GeoHash utilities in Java |
| GeoTools | Library that provides tools for geospatial data. (LGPL-2.1-only) | ||
| GraphHopper | 5,487 | 11 months ago | Road-routing engine. Used as a Java library or standalone web service |
| H2GIS | Spatial extension of the H2 database. (LGPL-3.0-only) | ||
| Jgeohash | Library for using the GeoHash algorithm | ||
| Mapsforge | 1,207 | 11 months ago | Map rendering based on OpenStreetMap data. (LGPL-3.0-only) |
| Spatial4j | 941 | over 2 years ago | General-purpose spatial/geospatial library |
Awesome Java / Projects / GUI | |||
| JavaFX | Successor of Swing | ||
| Scene Builder | Visual layout tool for JavaFX applications | ||
| SnapKit | 255 | 11 months ago | Modern Java UI library for both desktop and web |
| SWT | Graphical widget toolkit | ||
Awesome Java / Projects / High Performance | |||
| Agrona | 2,900 | 11 months ago | Data structures and utility methods that are common in high-performance applications |
| Disruptor | Inter-thread messaging library | ||
| Eclipse Collections | 2,469 | 12 months ago | Collections framework inspired by Smalltalk |
| fastutil | Fast and compact type-specific collections | ||
| HPPC | Primitive collections | ||
| JCTools | 3,598 | over 1 year ago | Concurrency tools currently missing from the JDK |
| Koloboke | 1,010 | almost 9 years ago | Carefully designed extension of the Java Collections Framework with primitive specializations and more |
Awesome Java / Projects / HTTP Clients | |||
| Apache HttpComponents | Toolset of low-level Java components focused on HTTP and associated protocols | ||
| Async Http Client | 6,301 | 11 months ago | Asynchronous HTTP and WebSocket client library |
| Avaje Http Client | Wrapper on JDK 11's HttpClient that adds Feign-like interface among other enhancements | ||
| Feign | 9,529 | 11 months ago | HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket |
| Google HTTP Client | 1,392 | 11 months ago | Pluggable HTTP transport abstraction with support for java.net.HttpURLConnection, Apache HTTP Client, Android, Google App Engine, XML, Gson, Jackson and Protobuf |
| methanol | 243 | 11 months ago | HTTP client extensions library |
| Retrofit | Typesafe REST client | ||
| Ribbon | 4,581 | 11 months ago | Client-side IPC library that is battle-tested in the cloud |
| Riptide | 303 | 11 months ago | Client-side response routing for Spring's RestTemplate |
| unirest-java | 2,630 | about 1 year ago | Simplified, lightweight HTTP client library |
Awesome Java / Projects / Hypermedia Types | |||
| hate | 23 | almost 2 years ago | Builds hypermedia-friendly objects according to HAL specification |
| JSON-LD | 379 | almost 2 years ago | JSON-LD implementation |
| Siren4J | 25 | over 1 year ago | Library for the Siren specification |
Awesome Java / Projects / IDE | |||
| Eclipse | Established open-source project with support for lots of plugins and languages | ||
| IntelliJ IDEA | Supports many JVM languages and provides good options for Android development. The commercial edition targets the enterprise sector | ||
| jGRASP | Created to provide software visualizations that work in conjunction with the debugger such as Control Structure Diagrams, UML class diagrams and Object Viewer | ||
| NetBeans | Provides integration for several Java SE and EE features, from database access to HTML5 | ||
| SnapCode | Modern IDE for Java running in the browser, focused on education | ||
| Visual Studio Code | Provides Java support for lightweight projects with a simple, modern workflow by using extensions from the internal marketplace | ||
Awesome Java / Projects / Imagery | |||
| Imgscalr | 1,229 | about 2 years ago | Simple, efficient and hardware-accelerated image-scaling library implemented in pure Java 2D |
| Tess4J | 1,619 | 11 months ago | JNA wrapper for Tesseract OCR API |
| Thumbnailator | 5,195 | over 1 year ago | High-quality thumbnail generation library |
| TwelveMonkeys | 1,917 | 11 months ago | Collection of plugins that extend the number of supported image file formats |
| ZXing | 32,916 | 11 months ago | Multi-format 1D/2D barcode image processing library |
| image-comparison | 347 | over 1 year ago | 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 |
Awesome Java / Projects / Introspection | |||
| ClassGraph | 2,781 | 12 months ago | ClassGraph (formerly FastClasspathScanner) is an uber-fast, ultra-lightweight, parallelized classpath scanner and module scanner for Java, Scala, Kotlin and other JVM languages |
| jOOR | 2,807 | over 1 year ago | jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package |
| 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 | ||
| Objenesis | Allows dynamic instantiation without default constructor, e.g. constructors which have required arguments, side effects or throw exceptions | ||
| ReflectASM | 1,533 | over 2 years ago | ReflectASM is a very small Java library that provides high performance reflection by using code generation |
| Reflections | 4,725 | over 1 year ago | 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 |
Awesome Java / Projects / Job Scheduling | |||
| JobRunr | 2,418 | 11 months ago | 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 |
| Quartz | 6,338 | 11 months ago | Feature-rich, open source job scheduling library that can be integrated within virtually any Java application |
| Sundial | 270 | over 1 year ago | Lightweight framework to simply define jobs, define triggers and start the scheduler |
| Wisp | 133 | 12 months ago | Simple library with minimal footprint and straightforward API |
| db-scheduler | 1,279 | 11 months ago | Persistent and cluster-friendly scheduler |
| easy-batch | 616 | over 2 years ago | 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 |
| shedlock | 3,696 | 11 months ago | 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 |
Awesome Java / Projects / JSON | |||
| Avaje Jsonb | Reflection-free Json binding via source code generation with Jackson-like annotations | ||
| DSL-JSON | 1,020 | 11 months ago | JSON library with advanced compile time databinding |
| Genson | Powerful and easy-to-use Java-to-JSON conversion library | ||
| Gson | 23,432 | 11 months ago | Serializes objects to JSON and vice versa. Good performance with on-the-fly usage |
| HikariJSON | 460 | over 2 years ago | High-performance JSON parser, 2x faster than Jackson |
| jackson-modules-java8 | 400 | 11 months ago | Set of Jackson modules for Java 8 datatypes and features |
| Jackson-datatype-money | 254 | about 1 year ago | Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types |
| Jackson | 9,173 | 11 months ago | Similar to GSON, but offers performance gains if you need to instantiate the library more often |
| JSON-io | 331 | 11 months ago | Convert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer |
| jsoniter | Fast and flexible library with iterator and lazy parsing API | ||
| LoganSquare | 3,204 | almost 4 years ago | JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library |
| Moshi | 9,794 | 11 months ago | Modern JSON library, less opinionated and uses built-in types like List and Map |
| Yasson | 204 | about 1 year ago | Binding layer between classes and JSON documents similar to JAXB |
| fastjson | 25,766 | over 1 year ago | Very fast processor with no additional dependencies and full data binding |
| Jolt | 1,569 | over 1 year ago | JSON to JSON transformation tool |
| JsonPath | 8,981 | over 1 year ago | Extract data from JSON using XPATH-like syntax |
| JsonSurfer | 296 | over 1 year ago | Streaming JsonPath processor dedicated to processing big and complicated JSON data |
Awesome Java / Projects / JVM and JDK | |||
| Adopt Open JDK | Community-driven OpenJDK builds, including both HotSpot and OpenJ9 | ||
| Corretto | No-cost, multiplatform, production-ready distribution of OpenJDK by Amazon. (GPL-2.0-only WITH Classpath-exception-2.0) | ||
| Dragonwell8 | 4,217 | 11 months ago | Downstream version of OpenJDK optimized for online e-commerce, financial, logistics applications |
| Graal | 20,486 | 11 months ago | Polyglot embeddable JVM. (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) | ||
| OpenJ9 | 3,319 | 11 months ago | High performance, enterprise-calibre, flexibly licensed, openly-governed cross-platform JVM extending and augmenting the runtime technology components from the Eclipse OMR and OpenJDK project |
| Open JDK | Open JDK community home. (GPL-2.0-only WITH Classpath-exception-2.0) | ||
| ParparVM | 1,727 | 11 months ago | 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) | ||
| 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) | ||
| Microsoft JDK | 323 | over 1 year ago | Microsoft Build of OpenJDK, Free, Open Source, Freshly Brewed! |
Awesome Java / Projects / Logging | |||
| Apache Log4j 2 | Complete rewrite with a powerful plugin and configuration architecture | ||
| Echopraxia | 54 | 11 months ago | API designed around structured logging, rich context, and conditional logging. There are Logback and Log4J2 implementations, but Echopraxia's API is completely dependency-free, meaning it can be implemented with any logging API |
| Graylog | Open-source aggregator suited for extended role and permission management. (GPL-3.0-only) | ||
| Kibana | Analyzes and visualizes log files. Some features require payment | ||
| Logback | Robust logging library with interesting configuration options via Groovy | ||
| Logbook | 1,861 | 11 months ago | Extensible, open-source library for HTTP request and response logging |
| Logstash | Tool for managing log files | ||
| p6spy | 2,099 | over 3 years ago | Enables logging for all JDBC transactions without changes to the code |
| SLF4J | Abstraction layer/simple logging facade | ||
| tinylog | Lightweight logging framework with static logger class | ||
| OpenTracing Toolbox | 180 | about 2 years ago | Collection of libraries that build on top of OpenTracing and provide extensions and plugins to existing instrumentations |
| Flogger | Flogger is a fluent logging API for Java. It supports a wide variety of features, and has many benefits over existing logging APIs | ||
Awesome Java / Projects / Machine Learning | |||
| Apache Flink | Fast, reliable, large-scale data processing engine | ||
| Apache Mahout | Scalable algorithms focused on collaborative filtering, clustering and classification | ||
| DatumBox | Provides several algorithms and pre-trained models for natural language processing | ||
| Deeplearning4j | Distributed and multi-threaded deep learning library | ||
| DJL | High-level and engine-agnostic framework for deep learning | ||
| H2O | Analytics engine for statistics over big data | ||
| Intelligent java | 64 | over 1 year ago | Seamlessly integrate with remote deep learning and language models programmatically |
| JSAT | 791 | almost 3 years ago | Algorithms for pre-processing, classification, regression, and clustering with support for multi-threaded execution. (GPL-3.0-only) |
| m2cgen | 2,826 | about 1 year ago | CLI tool to transpile models into native code |
| Neureka | 73 | 11 months ago | A lightweight, platform independent, OpenCL accelerated nd-array/tensor library |
| oj! Algorithms | High-performance mathematics, linear algebra and optimisation needed for data science, machine learning and scientific computing | ||
| Oryx 2 | 1,787 | about 4 years ago | Framework for building real-time, large-scale machine learning applications. Includes end-to-end applications for collaborative filtering, classification, regression, and clustering |
| Siddhi | 1,526 | about 1 year ago | Cloud native streaming and complex event processing engine |
| Smile | 6,066 | 11 months ago | Statistical Machine Intelligence and Learning Engine provides a set of machine learning algorithms and a visualization library |
| Tribuo | Provides tools for classification, regression, clustering, model development and interfaces with other libraries such as scikit-learn, pytorch and TensorFlow | ||
| Weka | Collection of algorithms for data mining tasks ranging from pre-processing to visualization. (GPL-3.0-only) | ||
Awesome Java / Projects / Messaging | |||
| Aeron | 7,466 | 11 months ago | Efficient, reliable, unicast and multicast message transport |
| Apache ActiveMQ | Message broker that implements JMS and converts synchronous to asynchronous communication | ||
| Apache Camel | Glues together different transport APIs via Enterprise Integration Patterns | ||
| Apache Kafka | High-throughput distributed messaging system | ||
| Apache Pulsar | Distributed pub/sub-messaging system | ||
| Apache RocketMQ | Fast, reliable, and scalable distributed messaging platform | ||
| Apache Qpid | Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms | ||
| AutoMQ | 3,918 | 11 months ago | AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective |
| Deezpatch | 42 | about 1 year ago | Simple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers |
| EventBus | 24,701 | over 1 year ago | Simple publish/subscribe event bus |
| Hermes | Fast and reliable message broker built on top of Kafka | ||
| JeroMQ | 2,371 | 12 months ago | Implementation of ZeroMQ |
| Nakadi | 958 | over 1 year ago | Provides a RESTful API on top of Kafka |
| RabbitMQ Java client | 1,250 | 11 months ago | RabbitMQ client |
| Smack | 2,385 | 12 months ago | Cross-platform XMPP client library |
| NATS client | 572 | 11 months ago | NATS client |
Awesome Java / Projects / Microservice | |||
| ActiveRPC | Lightweight and fast library for complex high-load distributed applications and Memcached-like solutions | ||
| Armeria | 4,837 | 11 months ago | Asynchronous RPC/REST client/server library built on top of Java 8, Netty, HTTP/2, Thrift and gRPC |
| consul-api | 417 | over 2 years ago | Client for the Consul API: a distributed, highly available and datacenter-aware registry/discovery service |
| Eureka | 12,447 | 11 months ago | 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 | ||
| JDA | 4,365 | 12 months ago | Wrapping of the Discord REST API and its WebSocket events |
| KeenType | Modernized version of a Java-based implementation of the New Typesetting System, which was heavily based on Donald E. Knuth's original TeX | ||
| kubernetes-client | 3,428 | 11 months ago | Client provides access to the full Kubernetes & OpenShift REST APIs via a fluent DSL |
| Micronaut | Modern full-stack framework with focus on modularity, minimal memory footprint and startup time | ||
| Nacos | Dynamic service discovery, configuration and service management platform for building cloud native applications | ||
| OpenAI-Java | 4,792 | over 1 year ago | Java libraries for using OpenAI's GPT-3 API |
| Quarkus | Kubernetes stack tailored for the HotSpot and Graal VM | ||
| Sentinel | 22,486 | about 1 year ago | Flow control component enabling reliability, resilience and monitoring for microservices |
Awesome Java / Projects / Miscellaneous | |||
| AWS SDK for Java 2.0 | 2,215 | 11 months ago | Wrapper around AWS' API |
| CQEngine | 1,728 | almost 2 years ago | Ultra-fast, SQL-like queries on Java collections |
| Design Patterns | 90,302 | 11 months ago | Implementation and explanation of the most common design patterns |
| FF4J | 1,389 | 11 months ago | Feature Flags for Java |
| FizzBuzz Enterprise Edition | 21,775 | over 1 year ago | No-nonsense implementation of FizzBuzz made by serious businessmen for serious business purposes. (No explicit license) |
| IP2Location.io Java SDK | 4 | over 1 year ago | Wrapper for the IP2Location.io Geolocation API and the IP2WHOIS domain WHOIS API |
| ISBN core | 3 | about 1 year ago | A small library that contains a representation object of ISBN-10 and ISBN-13 and tools to parse, validate and format one |
| J2ObjC | 5,998 | 11 months ago | Java-to-Objective-C translator for porting Android libraries to iOS |
| JBake | Static website generator | ||
| JBot | 1,197 | over 1 year ago | Framework for building chatbots. (GPL-3.0-only) |
| JCuda | JCuda offers Java bindings for CUDA and CUDA-related libraries | ||
| Jimfs | 2,446 | 11 months ago | In-memory file system |
| JObfuscator | Source code obfuscator | ||
| Joda-Money | Basic currency and money classes and algorithms not provided by the JDK | ||
| jOOX | 496 | about 1 year ago | Simple wrapper for the org.w3c.dom package, to allow for fluent XML document creation and manipulation with an API inspired by jQuery |
| JPad | Snippet runner | ||
| jsweet | 1,461 | almost 2 years ago | Source transpiler to TypeScript/JavaScript |
| Maven Wrapper | 1,586 | almost 4 years ago | Analogue of Gradle Wrapper for Maven, allows building projects without installing maven |
| Membrane Service Proxy | 466 | 11 months ago | Open-source, reverse-proxy framework |
| MinimalFTP | 162 | over 1 year ago | Lightweight, small and customizable FTP server |
| LittleProxy | 2,070 | over 1 year ago | High performance HTTP proxy atop Netty's event-based networking library |
| Modern Java - A Guide to Java 8 | 16,736 | about 2 years ago | Popular Java 8 guide |
| Modernizer | 379 | 11 months ago | Detect uses of legacy Java APIs |
| OctoLinker | 5,287 | about 2 years ago | Browser extension which allows to navigate through code on GitHub more efficiently |
| OpenRefine | Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases | ||
| PipelinR | 429 | about 1 year ago | Small utility library for using handlers and commands with pipelines |
| Polyglot for Maven | 893 | 12 months ago | Extensions for Maven 3.3.1+ that allows writing the POM model in dialects other than XML |
| RR4J | 23 | over 3 years ago | RR4J is a tool that records java bytecode execution and later allows developers to replay locally |
| Simple Java Mail | 1,231 | 11 months ago | Mailing with a clean and fluent API |
| Smooks | 400 | 11 months ago | Framework for fragment-based message processing. (Apache-2.0 OR LGPL-3.0-or-later) |
| Svix | 2,444 | 11 months ago | Library for the Svix API to send webhooks and verify signatures |
| Togglz | Implementation of the Feature Toggles pattern | ||
| TypeTools | 626 | over 2 years ago | Tools for resolving generic types |
| XMLBeam | 73 | about 2 years ago | Processes XML by using annotations or XPath within code |
| yGuard | 380 | about 1 year ago | Obfuscation via renaming and shrinking |
Awesome Java / 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 | ||
Awesome Java / Projects / Monitoring | |||
| Automon | 575 | about 1 year ago | Combines the power of AOP with monitoring and/or logging tools |
| Datadog | 597 | 11 months ago | Modern monitoring & analytics |
| Dropwizard Metrics | 7,841 | 11 months ago | Expose metrics via JMX or HTTP and send them to a database |
| Failsafe Actuator | 53 | over 3 years ago | Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment |
| Glowroot | Open-source Java APM | ||
| HertzBeat | 5,815 | 11 months ago | Real-time monitoring system with custom-monitor and agentless |
| hippo4j | 5,631 | 11 months ago | Dynamic and observable thread pool framework |
| 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 | ||
| Instrumental | Real-time Java application performance monitoring. A commercial service with free development accounts | ||
| Jaeger client | 490 | over 3 years ago | Jaeger client |
| JavaMelody | 2,971 | 11 months ago | Performance monitoring and profiling |
| jmxtrans | 1,702 | about 3 years ago | Connect to multiple JVMs and query them for their attributes via JMX. Its query language is based on JSON, which allows non-Java programmers to access the JVM attributes. Supports different output writes, including Graphite, Ganglia, and StatsD |
| Jolokia | JMX over REST | ||
| Micrometer | 4,504 | 11 months ago | Vendor-neutral metrics/observability facade for the most popular metrics/observability libraries |
| Micrometer Tracing | 254 | 11 months ago | Vendor-neutral distributed tracing facade for the most popular tracer libraries |
| nudge4j | 162 | over 5 years ago | Remote developer console from the browser for Java 8 via bytecode injection |
| OpenTelemetry | 2,033 | 11 months ago | Instrument, generate, collect, and export telemetry data to help you analyze your software’s performance and behavior |
| Pinpoint | 13,442 | 11 months ago | Open-source APM tool |
| Prometheus | 2,194 | 11 months ago | Provides a multi-dimensional data model, DSL, autonomous server nodes and much more |
| Sentry | 1,177 | 11 months ago | Integration with , an application error tracking and performance analysis platform |
| SPM | 23 | 11 months ago | Performance monitor with distributing transaction tracing for JVM apps |
| Stagemonitor | 1,704 | over 2 years ago | Open-source performance monitoring and transaction tracing for JVM apps |
| Sysmon | 155 | almost 9 years ago | Lightweight platform monitoring tool for Java VMs |
| zipkin | Distributed tracing system which gathers timing data needed to troubleshoot latency problems in microservice architectures | ||
Awesome Java / Projects / Native | |||
| Aparapi | 467 | about 3 years ago | Converts bytecode to OpenCL which allows execution on GPUs |
| JavaCPP | 4,519 | 11 months ago | Provides efficient and easy access to native C++ |
| JNA | 8,563 | 11 months ago | Work with native libraries without writing JNI. Also provides interfaces to common system libraries |
| JNR | 1,267 | about 1 year ago | Work with native libraries without writing JNI. Also provides interfaces to common system libraries. Same goals as JNA, but faster, and serves as the basis for the upcoming |
| native-lib-loader | 188 | about 1 year ago | Native library loader for extracting and loading native libraries from Java |
Awesome Java / Projects / Natural Language Processing | |||
| CogCompNLP | 473 | over 2 years ago | 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) | ||
| DKPro | Collection of reusable NLP tools for linguistic pre-processing, machine learning, lexical resources, etc | ||
| LingPipe | Toolkit for tasks ranging from POS tagging to sentiment analysis | ||
Awesome Java / Projects / Networking | |||
| Commons-networking | 17 | over 3 years ago | Client for server-sent events (SSE) |
| Comsat | 598 | almost 8 years ago | Integrates standard Java web-related APIs with Quasar fibers and actors |
| Dubbo | 40,569 | 11 months ago | High-performance RPC framework |
| Grizzly | NIO framework. Used as a network layer in Glassfish | ||
| gRPC | 11,506 | 11 months ago | RPC framework based on protobuf and HTTP/2 |
| KryoNet | 1,819 | over 4 years ago | Provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO and Kryo |
| MINA | Abstract, event-driven async I/O API for network operations over TCP/IP and UDP/IP via Java NIO | ||
| Netty | Framework for building high-performance network applications | ||
| Drift | 242 | over 1 year ago | Easy-to-use, annotation-based library for creating Thrift clients and serializable types |
| ServiceTalk | 932 | 11 months ago | Framework built on Netty with APIs tailored to specific protocols and support for multiple programming paradigms |
| sshj | 2,514 | about 1 year ago | Programmatically use SSH, SCP or SFTP |
| TLS Channel | 196 | 11 months ago | Implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS |
| Undertow | Web server providing both blocking and non-blocking APIs based on NIO. Used as a network layer in WildFly. (LGPL-2.1-only) | ||
| urnlib | 31 | over 2 years ago | Represent, parse and encode URNs, as in RFC 2141. (GPL-3.0-only) |
| Fluency | 155 | 11 months ago | High throughput data ingestion logger to Fluentd and Fluent Bit |
Awesome Java / Projects / ORM | |||
| Apache Cayenne | Provides a clean, static API for data access. Also includes a GUI Modeler for working with database mappings, and DB reverse engineering and generation | ||
| Doma | 449 | 11 months ago | 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) | ||
| MyBatis | 19,863 | 11 months ago | Couples objects with stored procedures or SQL statements |
| ObjectiveSql | 1,277 | over 1 year ago | ActiveRecord ORM for rapid development and convention over configuration |
| Permazen | 404 | 12 months ago | Language-natural persistence layer |
| SimpleFlatMapper | 441 | 11 months ago | Simple database and CSV mapper |
Awesome Java / Projects / PaaS | |||
| AWS Elastic Beanstalk | AWS-based, with support for Tomcat and Jetty | ||
| AWS Lambda | Serverless computation | ||
| Google Cloud | Google's cloud infrastructure | ||
| Heroku | Abstract computing environments | ||
| Microsoft Azure | Microsoft's cloud infrastructure | ||
| OpenShift | Provides additionally an on-premise solution | ||
Awesome Java / Projects / PDF | |||
| Apache FOP | Creates PDFs from XSL-FO | ||
| Apache PDFBox | Toolbox for creating and manipulating PDFs | ||
| Dynamic Jasper | Abstraction layer to JasperReports. (LGPL-3.0-only) | ||
| DynamicReports | 216 | 11 months ago | Simplifies JasperReports. (LGPL-3.0-only) |
| Eclipse BIRT | Report engine for creating PDF and other formats (DOCX, XLSX, HTML, etc) using Eclipse-based visual editor | ||
| flyingsaucer | 2,024 | 11 months ago | XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) |
| iText | Creates PDF files programmatically | ||
| JasperReports | Complex reporting engine. (LGPL-3.0-only) | ||
| Open HTML to PDF | 1,937 | over 1 year ago | Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox |
| OpenPDF | 3,645 | 11 months ago | Open-source iText fork. (LGPL-3.0-only & MPL-2.0) |
| Tabula | 1,859 | 11 months ago | Extracts tables from PDF files |
Awesome Java / Projects / Performance analysis | |||
| fastThread | Analyze and visualize thread dumps with a free cloud-based upload interface | ||
| GCeasy | Tool to analyze and visualize GC logs. It provides a free cloud-based upload interface | ||
| honest-profiler | 1,251 | almost 2 years ago | Low-overhead, bias-free sampling profiler |
| jHiccup | 686 | over 1 year ago | Logs and records platform JVM stalls |
| JITWatch | 3,111 | about 1 year ago | Analyze the JIT compiler optimisations made by the HotSpot JVM |
| 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) | ||
| LatencyUtils | 456 | over 1 year ago | Utilities for latency measurement and reporting |
Awesome Java / Projects / Platform | |||
| 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 | ||
| 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 | ||
| CUBA Platform | High-level framework for developing enterprise applications with a rich web interface, based on Spring, EclipseLink and Vaadin | ||
| Light-4J | 3,613 | 11 months ago | Fast, lightweight and productive microservices framework with built-in |
| Orienteer | 245 | over 1 year ago | 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 | ||
Awesome Java / Projects / Processes | |||
| ch.vorburger.exec | 31 | 11 months ago | Convenient API around Apache Commons Exec |
| zt-exec | 884 | over 1 year ago | Provides a unified API to Apache Commons Exec and ProcessBuilder |
| zt-process-killer | 128 | almost 2 years ago | Stops processes started from Java or the system processes via PID |
Awesome Java / Projects / Reactive libraries | |||
| Akka | Toolkit and runtime for building concurrent, distributed, fault-tolerant and event-driven applications | ||
| Reactive Streams | 4,816 | over 1 year ago | Provides a standard for asynchronous stream processing with non-blocking backpressure |
| Reactor | 5,001 | 11 months ago | Library for building reactive fast-data applications |
| RxJava | 47,954 | 11 months ago | Allows for composing asynchronous and event-based programs using observable sequences |
| vert.x | Polyglot event-driven application framework | ||
Awesome Java / Projects / REST Frameworks | |||
| Dropwizard | 8,507 | 11 months ago | 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 | ||
| Jersey | JAX-RS reference implementation | ||
| Microserver | 941 | over 2 years ago | 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 |
| Rapidoid | Simple, secure and extremely fast framework consisting of an embedded HTTP server, GUI components and dependency injection | ||
| rest.li | 2,507 | 11 months ago | Framework for building robust, scalable RESTful architectures using typesafe bindings and asynchronous, non-blocking IO with an end-to-end developer workflow that promotes clean practices, uniform interface design and consistent data modeling |
| RESTEasy | Fully certified and portable implementation of the JAX-RS specification | ||
| RestExpress | 940 | about 1 year ago | Thin wrapper on the JBoss Netty HTTP stack that provides scaling and performance |
| Restlet Framework | 654 | 11 months ago | Pioneering framework with powerful routing and filtering capabilities, and a unified client and server API |
| Spark | Sinatra inspired framework | ||
| Crnk | Implementation of the JSON API specification to build resource-oriented REST endpoints with sorting, filtering, paging, linking, object graphs, type-safety, bulk updates, integrations and more | ||
| springdoc-openapi | 3,316 | 11 months ago | Automates the generation of API documentation using Spring Boot projects |
| Swagger | Standard, language-agnostic interface to REST APIs | ||
Awesome Java / Projects / Science | |||
| BioJava | Facilitates processing biological data by providing algorithms, file format parsers, sequencing and 3D visualization commonly used in bioinformatics | ||
| Chart-FX | 513 | 11 months ago | Scientific charting library with focus on performance optimised real-time data visualisation at 25 Hz update rates for large data sets |
| DataMelt | Environment for scientific computation, data analysis and data visualization. (GPL-3.0-or-later) | ||
| Erdos | 128 | about 2 years ago | Modular, light and easy graph framework for theoretic algorithms |
| GraphStream | Library for modeling and analyzing dynamic graphs | ||
| JFreeChart | 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) | ||
| JGraphT | 2,624 | about 1 year ago | Graph library that provides mathematical graph-theory objects and algorithms |
| JGraphX | 671 | almost 5 years ago | Library for visualizing (mainly Swing) and interacting with node-edge graphs |
| LogicNG | 135 | 12 months ago | Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas |
| Mines Java Toolkit | 76 | over 4 years ago | Library for geophysical scientific computation, visualization and digital signal analysis |
| Morpheus | 240 | almost 2 years ago | 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 |
| Orekit | A low level space flight dynamics library providing basic elements (orbits, dates, attitude, frames...) and various algorithms (conversions, propagations, pointing...) to handle them | ||
| Orson-Charts | 108 | over 3 years ago | Generates a wide variety of 3D charts that can be displayed with Swing and JavaFX or exported to PDF, SVG, PNG and JPEG. (GPL-3.0-only) |
| Tablesaw | 3,564 | about 1 year ago | Includes a data-frame, an embedded column store, and hundreds of methods to transform, summarize, or filter data |
| XChart | 1,515 | about 1 year ago | Light-weight library for plotting data. Many customizable chart types are available |
Awesome Java / Projects / Search | |||
| Apache Lucene | High-performance, full-featured, cross-platform, text search engine library | ||
| Apache Solr | Enterprise search engine optimized for high-volume traffic | ||
| Elasticsearch | Distributed, multitenant-capable, full-text search engine with a RESTful web interface and schema-free JSON documents | ||
| Indexer4j | 53 | almost 7 years ago | Simple and light full text indexing and searching library |
Awesome Java / Projects / Security | |||
| Apache Shiro | Performs authentication, authorization, cryptography and session management | ||
| Bouncy Castle | All-purpose cryptographic library and JCA provider offering a wide range of functions, from basic helpers to PGP/SMIME operations | ||
| DependencyCheck | 6,547 | 11 months ago | Detects publicly disclosed vulnerabilities contained within a project's dependencies |
| Cryptomator | Multiplatform, transparent, client-side encryption of files in the cloud. (GPL-3.0-only) | ||
| Hdiv | 214 | 11 months ago | Runtime application that repels application security risks included in the OWASP Top 10, including SQL injection, cross-site scripting, cross-site request forgery, data tampering, and brute force attacks |
| jjwt | 10,389 | about 1 year ago | JSON web token for Java and Android |
| jwt-java | 11 | over 2 years ago | Easily create and parse JSON Web Tokens and create customized JWT validators using a fluent API |
| Jwks RSA | 196 | 11 months ago | JSON Web Key Set parser |
| Kalium | 209 | about 2 years ago | Binding for the Networking and Cryptography (NaCl) library |
| Keycloak | Integrated SSO and IDM for browser apps and RESTful web services | ||
| Keywhiz | 2,622 | about 2 years ago | System for distributing and managing secrets |
| Nbvcxz | 293 | about 1 year ago | Advanced password strength estimation |
| OACC | Provides permission-based authorization services | ||
| OpenAM | 789 | 11 months ago | Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security |
| OTP-Java | 196 | about 2 years ago | One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP) |
| pac4j | 2,438 | 11 months ago | Security engine |
| Passay | Enforce password policy by validating candidate passwords against a configurable rule set | ||
| Password4j | 361 | over 1 year ago | User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions |
| SecurityBuilder | 46 | over 4 years ago | Fluent Builder API for JCA and JSSE classes and especially X.509 certificates |
| SSLContext-Kickstart | 506 | 11 months ago | High-level SSL context builder for configuring HTTP clients with SSL/TLS |
| Themis | 1,879 | about 1 year ago | Multi-platform high-level cryptographic library provides easy-to-use encryption for protecting sensitive data: secure messaging with forward secrecy, secure data storage (AES256GCM); suits for building end-to-end encrypted applications |
| Tink | 13,511 | over 1 year ago | Provides a simple and misuse-proof API for common cryptographic tasks |
| Topaz | Fine-grained authorization for applications with support for RBAC, ABAC, and ReBAC | ||
Awesome Java / Projects / Serialization | |||
| FlatBuffers | 23,472 | 12 months ago | Memory-efficient serialization library that can access serialized data without unpacking and parsing it |
| FST | 1,591 | over 2 years ago | JDK-compatible, high-performance object graph serialization |
| Fury | 3,133 | 11 months ago | Blazing fast object graph serialization framework powered by JIT and zero-copy |
| Kryo | 6,217 | 11 months ago | Fast and efficient object graph serialization framework |
| MessagePack | 1,419 | 11 months ago | Efficient binary serialization format |
| PHP Serializer | 15 | over 7 years ago | Serializing objects in the PHP serialization format |
Awesome Java / Projects / Server | |||
| Apache Tomcat | Robust, all-round server for Servlet and JSP | ||
| Apache TomEE | Tomcat plus Java EE | ||
| Jetty | Provides a Web server and javax.servlet container, plus support for HTTP/2, WebSocket, OSGi, JMX, JNDI, JAAS and many other integrations | ||
| nanohttpd | 6,974 | over 2 years ago | Tiny, easily embeddable HTTP server |
| WildFly | Formerly known as JBoss and developed by Red Hat with extensive Java EE support. (LGPL-2.1-only) | ||
Awesome Java / 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 | ||
| Handlebars.java | Logicless and semantic Mustache templates | ||
| Jade4J | 705 | over 3 years ago | Implementation of Pug (formerly known as Jade) |
| Jamal | 58 | 11 months ago | Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling |
| jstachio | 265 | 12 months ago | Typesafe Mustache templating engine |
| jte | 869 | 12 months ago | Compiles to classes, and uses an easy syntax, several features to make development easier and provides fast execution and a small footprint |
| Jtwig | 301 | over 7 years ago | Modular, configurable and fully tested template engine |
| Pebble | Inspired by Twig and separates itself with its inheritance feature and its easy-to-read syntax. It ships with built-in autoescaping for security and it includes integrated support for internationalization | ||
| Rocker | 752 | 12 months ago | Optimized, memory efficient and speedy template engine producing statically typed, plain objects |
| StringTemplate | 960 | over 1 year ago | Template engine for generating source code, web pages, emails, or any other formatted text output |
| Thymeleaf | Aims to be a substitute for JSP and works for XML files | ||
Awesome Java / Projects / Testing | |||
| Awaitility | 3,845 | about 1 year ago | DSL for synchronizing asynchronous operations |
| ConcurrentUnit | 420 | over 1 year ago | Toolkit for testing multi-threaded and asynchronous applications |
| GreenMail | In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only) | ||
| Hoverfly Java | 168 | about 1 year ago | Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services |
| Karate | 8,356 | 11 months ago | DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy |
| REST Assured | 6,875 | about 1 year ago | DSL for easy testing of REST/HTTP services |
| WebTau | 373 | 11 months ago | Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts |
| Cucumber | 2,709 | 11 months ago | Provides a way to describe features in a plain language which customers can understand |
| Cukes-REST | 113 | over 2 years ago | Collection of Gherkin steps for REST-service testing using Cucumber |
| J8Spec | 47 | over 3 years ago | Follows a Jasmine-like syntax |
| JBehave | Extensively configurable framework that describes stories | ||
| JGiven | Provides a fluent API which allows for simpler composition | ||
| Lamdba Behave | 253 | over 3 years ago | Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English |
| Serenity BDD | 722 | 12 months ago | Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications |
| Beanmother | 115 | almost 3 years ago | Sets up beans from YAML fixtures |
| Datafaker | 1,213 | 11 months ago | Modern fake data generator forked from Java Faker |
| Fixture Factory | 446 | over 2 years ago | Generates fake objects from a template |
| jFairy | 742 | over 1 year ago | Fake data generator |
| Instancio | 942 | 11 months ago | Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension |
| Randomized Testing | 173 | 11 months ago | JUnit test runner and plugins for running JUnit tests with pseudo-randomness |
| Java Faker | 4,785 | over 1 year ago | Port of Ruby's fake data generator |
| Mockneat | 531 | over 2 years ago | Another fake data generator |
| Apache JMeter | Functional testing and performance measurements | ||
| Arquillian | Integration and functional testing platform for Java EE containers | ||
| cdi-test | 26 | 11 months ago | JUnit extension for easy and efficient testing of CDI components |
| Citrus | Integration testing framework that focuses on both client- and server-side messaging | ||
| Gatling | Load testing tool designed for ease of use, maintainability and high performance | ||
| JUnit | Common testing framework | ||
| jqwik | Engine for property-based testing built on JUnit 5 | ||
| Pact JVM | 1,087 | 11 months ago | Consumer-driven contract testing |
| PIT | Fast mutation-testing framework for evaluating fault-detection abilities of existing JUnit or TestNG test suites | ||
| weld-testing | 102 | about 1 year ago | Set of test framework extensions (JUnit 4, JUnit 5, Spock) to enhance the testing of CDI components via Weld. Supports Weld 5 |
| AssertJ | Fluent assertions that improve readability | ||
| Hamcrest | Matchers that can be combined to create flexible expressions of intent | ||
| JSONAssert | Simplifies testing JSON strings | ||
| JsonUnit | 901 | 11 months ago | Library that simplifies JSON comparison in tests |
| Truth | Google's fluent assertion and proposition framework | ||
| XMLUnit | 298 | about 1 year ago | Simplifies testing for XML output |
| ConsoleCaptor | 30 | about 1 year ago | Captures console output for unit testing purposes |
| junit-dataprovider | 246 | almost 3 years ago | TestNG-like data provider/runner for JUnit |
| LogCaptor | 378 | 11 months ago | Captures log entries for unit testing purposes |
| log-capture | 12 | about 1 year ago | Captures log entries and provides assertions for unit and integration testing |
| Mutability Detector | 240 | about 2 years ago | Reports whether instances of a given class are immutable |
| pojo-tester | Automatically performs tests on basic POJO methods. (LGPL-3.0-only) | ||
| raml-tester | 71 | over 6 years ago | Tests if a request/response matches a given RAML definition |
| Selfie | 57 | 11 months ago | Snapshot testing (inline and on disk) |
| Testcontainers | 8,061 | 11 months ago | Provides throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container |
| JMockit | Integration testing, API mocking and faking, and code coverage | ||
| Mockito | 14,941 | 11 months ago | Mocking framework that lets you write tests with a clean and simple API |
| MockServer | Allows mocking of systems integrated with HTTPS | ||
| Moco | 4,382 | over 1 year ago | Concise web services for stubs and mocks |
| PowerMock | 4,167 | almost 2 years ago | Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers |
| WireMock | Stubs and mocks web services | ||
| EasyMock | 821 | 11 months ago | EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing |
Awesome Java / Projects / Utility | |||
| Arthas | 35,783 | 11 months ago | Allows to troubleshoot production issues for applications without modifying code or restarting servers |
| bucket4j | 2,367 | 12 months ago | Rate limiting library based on token-bucket algorithm |
| cactoos | 743 | 11 months ago | Collection of object-oriented primitives |
| Chocotea | 42 | almost 3 years ago | Generates postman collection, environment and integration tests from java code |
| CRaSH | Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. (LGPL-2.1-or-later) | ||
| Dex | 1,319 | over 6 years ago | Java/JavaFX tool capable of powerful ETL and data visualization |
| dregex | 47 | 12 months ago | Regular expression engine that uses deterministic finite automata. It supports some Perl-style features and yet retains linear matching time, and also offers set operations |
| Embulk | 1,758 | 11 months ago | Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services |
| fswatch | 29 | 11 months ago | Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService |
| Gephi | 5,964 | about 1 year ago | Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only) |
| Guava | 50,322 | 11 months ago | Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more |
| JADE | Framework and environment for building and debugging multi-agent systems. (LGPL-2.0-only) | ||
| Java Diff Utils | Utilities for text or data comparison and patching | ||
| JavaVerbalExpressions | 2,624 | 11 months ago | Library that helps with constructing difficult regular expressions |
| JGit | Lightweight, pure Java library implementing the Git version control system | ||
| JKScope | 13 | over 1 year ago | Java scope functions inspired by Kotlin |
| minio-java | 1,133 | 11 months ago | Provides simple APIs to access any Amazon S3-compatible object storage server |
| Protégé | Provides an ontology editor and a framework to build knowledge-based systems | ||
| Semver4j | 75 | 11 months ago | Lightweight library that helps you handling semantic versioning with different modes |
| Underscore-java | 533 | 11 months ago | Port of Underscore.js functions |
Awesome Java / Projects / Version Managers | |||
| jabba | 3,041 | over 1 year ago | Java Version Manager inspired by nvm. Supports macOS, Linux and Windows |
| jenv | 5,920 | over 1 year ago | Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS |
| SDKMan | 6,166 | 11 months ago | Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows |
Awesome Java / Projects / Web Crawling | |||
| Apache Nutch | Highly extensible, highly scalable web crawler for production environments | ||
| Crawler4j | 4,563 | almost 4 years ago | Simple and lightweight web crawler |
| jsoup | Scrapes, parses, manipulates and cleans HTML | ||
| StormCrawler | SDK for building low-latency and scalable web crawlers | ||
| webmagic | 11,456 | 11 months ago | Scalable crawler with downloading, url management, content extraction and persistent |
Awesome Java / Projects / Web Frameworks | |||
| ActiveJ | Lightweight asynchronous framework built from the ground up for developing high-performance web applications | ||
| Apache Tapestry | Component-oriented framework for creating dynamic, robust, highly scalable web applications | ||
| Apache Wicket | Component-based web application framework similar to Tapestry, with a stateful GUI | ||
| Blade | 5,847 | 11 months ago | Lightweight, modular framework that aims to be elegant and simple |
| Bootique | Minimally opinionated framework for runnable apps | ||
| Firefly | Asynchronous framework for rapid development of high-performance web application | ||
| Javalin | Microframework for web applications | ||
| Jooby | Scalable, fast and modular micro-framework that offers multiple programming models | ||
| Ninja | Full-stack web framework | ||
| Pippo | Small, highly modularized, Sinatra-like framework | ||
| Play | Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala | ||
| PrimeFaces | JSF framework with both free and commercial/support versions and frontend components | ||
| Ratpack | Set of libraries that facilitate fast, efficient, evolvable and well-tested HTTP applications | ||
| Takes | 810 | 11 months ago | Opinionated web framework which is built around the concepts of True Object-Oriented Programming and immutability |
| Vaadin | Full-stack open-source Java framework that simplifies web app development. Build complex, interactive applications with Java alone, and enhance with TypeScript and React components, without needing deep JavaScript, CSS, or HTML expertise | ||
Awesome Java / Projects / Workflow Orchestration Engines | |||
| Cadence | Stateful code platform from Uber | ||
| flowable | 8,052 | 11 months ago | Compact and efficient workflow and business process management platform |
| Temporal | Microservice orchestration platform, forked from Cadence but gRPC based | ||
Awesome Java / Resources / Related Awesome Lists | |||
| Awesome Annotation Processing | 495 | 12 months ago | |
| Awesome Graal | 355 | over 2 years ago | |
| Awesome Gradle Plugins | 460 | about 2 years ago | |
| AwesomeJavaFX | 3,155 | 12 months ago | |
| Awesome JVM | 2,086 | about 3 years ago | |
| Awesome Microservices | 13,402 | 12 months ago | |
| Awesome REST | 3,661 | about 1 year ago | |
| Awesome Selenium | 1,020 | over 2 years ago | |
| Awesome Hybris | 36 | about 1 year ago | |
| ciandcd | 1,886 | over 1 year ago | |
| Useful Java Links | 5,886 | 12 months ago | |
| Java Concurrency Checklist | 1,295 | almost 5 years ago | |
| Java Developer Roadmap | 3,996 | almost 2 years ago | |
Awesome Java / Resources / Communities | |||
| r/java | Subreddit for the Java community | ||
| Stack Overflow | Question/answer platform | ||
Awesome Java / Resources / Frontends | |||
| java.libhunt.com | |||
Awesome Java / Resources / Influential Books | |||
| Core Java Volume I--Fundamentals | |||
| Core Java, Volume II--Advanced Features | |||
| Effective Java (3rd Edition) | |||
| Head First Java (3rd Edition) | |||
| Java Concurrency in Practice | |||
| The Well-Grounded Java Developer (2nd Edition) | |||
| Thinking in Java | |||
Awesome Java / Resources / Podcasts and Screencasts | |||
| 140 Second Ducklings | Short videos on Twitter explaining Java debugging in depth | ||
| A Bootiful Podcast | |||
| Foojay Podcast | |||
| Inside Java | (Official) | ||
| Java Off Heap | |||
| The Java Posse | Discontinued as of 02/2015 | ||
Awesome Java / Resources / People | |||
| Adam Bien | Freelance author, JavaOne Rockstar speaker, consultant, Java Champion | ||
| Aleksey Shipilëv | Performance geek, benchmarking czar, concurrency bug hunter | ||
| Antonio Goncalves | Java Champion, JUG Leader, Devoxx France, Java EE 6/7, JCP, Author | ||
| Arun Gupta | Java Champion, JavaOne Rockstar, JUG Leader, Devoxx4Kids-er, VP of Developer Advocacy at Couchbase | ||
| Brian Goetz | Java Language Architect at Oracle | ||
| Bruno Borges | Product Manager/Java Jock at Oracle | ||
| Chris Engelbert | Open Source Enthusiast, Speaker, Developer, Developer Advocacy at TimescaleDB | ||
| Chris Richardson | Software architect, consultant, and serial entrepreneur, Java Champion, JavaOne Rock Star, *POJOs in Action- author | ||
| Ed Burns | Consulting Member of the Technical Staff at Oracle | ||
| Eugen Paraschiv | Author of the Spring Security Course | ||
| Heinz Kabutz | Java Champion, speaker, author of The Java Specialists' Newsletter, concurrency performance expert | ||
| Holly Cummins | Technical Lead of IBM London's Bluemix Garage, Java Champion, developer, author, JavaOne rockstar | ||
| James Weaver | Java/JavaFX/IoT developer, author and speaker | ||
| Java EE | Official Java EE Twitter account | ||
| Java Magazine | Official Java Magazine account | ||
| Java | Official Java Twitter account | ||
| Javin Paul | Well-known Java blogger | ||
| Josh Long | Spring Advocate at Pivotal, author of O'Reilly's Cloud Native Java- and Building Microservices with Spring Boot, JavaOne Rock Star | ||
| Lukas Eder | Java Champion, speaker, Founder and CEO Data Geekery (jOOQ) | ||
| 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 | ||
| Mario Fusco | RedHatter, JUG coordinator, frequent speaker and author | ||
| Mark Heckler | Pivotal Principal Technologist and Developer Advocate, conference speaker, published author, and Java Champion, focusing on Internet of Things and the cloud | ||
| Mark Reinhold | Chief Architect, Java Platform Group, Oracle | ||
| Markus Eisele | Java EE evangelist, Red Hat | ||
| Martijn Verburg | London JUG co-leader, speaker, author, Java Champion and much more | ||
| Martin Thompson | Pasty faced performance gangster | ||
| Monica Beckwith | Performance consultant, JavaOne Rock Star | ||
| OpenJDK | Official OpenJDK account | ||
| Peter Lawrey | Peter Lawrey, Java performance expert | ||
| Randy Shoup | Stitch Fix VP Engineering, speaker, JavaOne Rock Star | ||
| Reza Rahman | Java EE/GlassFish/WebLogic evangelist, author, speaker, open source hacker | ||
| Sander Mak | Java Champion, author | ||
| Simon Maple | Java Champion, VirtualJUG founder, LJC leader, RebelLabs author | ||
| Spencer Gibb | Software Engineer, Dad, Geek, Co-founder and Lead of Spring Cloud Core @pivotal | ||
| Stephen Colebourne | Java Champion, speaker | ||
| Trisha Gee | Java Champion and speaker | ||
| Venkat Subramaniam | Author, University of Houston professor, MicroSoft MVP award recipient, JavaOne Rock Star, Java Champion | ||
| Vlad Mihalcea | Java Champion working on Hypersistence Optimizer, database aficionado, author of High-Performance Java Persistence book | ||
| Groundbreakers | Oracle ACEs, Groundbreaker Ambassadors and Java Champions | ||
Awesome Java / Resources / Websites | |||
| Baeldung | |||
| Dzone | |||
| foojay.io | |||
| Google Java Style | |||
| InfoQ | |||
| Java Algorithms and Clients | |||
| Java, SQL, and jOOQ | |||
| Java.net | |||
| Javalobby | |||
| JavaWorld | |||
| JAXenter | |||
| RebelLabs | |||
| OverOps Blog | |||
| TheServerSide.com | |||
| Vanilla Java | |||
| Voxxed | |||
| Java Weekly | |||
Backlinks from these awesome lists:
-
sindresorhus/awesome
-
bayandin/awesome-awesomeness
-
lnishan/awesome-competitive-programming
-
jnv/lists
-
lightsky/awesome-materialdesign
-
emijrp/awesome-awesome
-
rafaskb/awesome-libgdx
-
stevinz/awesome-game-engine-dev
-
fleveque/awesome-awesomes
-
erichs/awesome-awesome
-
bradoyler/awesome-all
-
flyhigher139/awesome-collection
-
szabgab/awesome-lists
-
yongjhih/awesome-android-awesomeness
-
coopermaa/awesome-awesome
-
0ex/more-awesome
More related projects:
-
jorabin/keepassjava2
-
worldturner/medeia-validator
-
patrickyin/clean-architecture-android-kotlin
-
twitter/finatra
-
mtotschnig/myexpenses
-
rabtman/acgclub
-
mfl28/boundingboxeditor
-
fasterxml/jackson-core
-
hakky54/mutual-tls-ssl
-
othreecodes/apx
-
bufferapp/android-clean-architecture-boilerplate
-
danfickle/pretty-resume