Skip to content

Instantly share code, notes, and snippets.

Last active August 31, 2022 23:04
Show Gist options
  • Save clementi/7c81f7d4ffd88bdc6a0cc249200cced2 to your computer and use it in GitHub Desktop.
Save clementi/7c81f7d4ffd88bdc6a0cc249200cced2 to your computer and use it in GitHub Desktop.
Java Libraries

Java Libraries

A curated List of useful or interesting libraries for Java programming.

Name Description URL
Akka Akka is a toolkit for building highly concurrent, distributed, and resilient message-driven applications for Java and Scala.
Akka HTTP The Akka HTTP modules implement a full server- and client-side HTTP stack on top of akka-actor and akka-stream.
Akka Stream The purpose is to offer an intuitive and safe way to formulate stream processing setups such that we can then execute them efficiently and with bounded resource usage—no more OutOfMemoryErrors.
Alpakka The Alpakka project is an open source initiative to implement stream-aware and reactive integration pipelines for Java and Scala.
Apache HTTPComponents The Apache HttpComponents project is responsible for creating and maintaining a toolset of low level Java components focused on HTTP and associated protocols.
Apache Log4j Java logging framework
Apache POI The Java API for Microsoft documents
Apache Pulsar Java client You can use a Pulsar Java client to create the Java producer, consumer, readers and TableView of messages and to perform administrative tasks.
Apache Tika The Apache Tika™ toolkit detects and extracts metadata and text from over a thousand different file types (such as PPT, XLS, and PDF).
Apache Xerces The Apache Xerces™ Project is responsible for software licensed to the Apache Software Foundation intended for the creation and maintenance of XML parsers and related software components
AsciidoctorJ Java bindings for Asciidoctor. Asciidoctor on the JVM!
async-http-client Asynchronous Http and WebSocket Client library for Java
AWS SDK for Java Develop and deploy applications with the AWS SDK for Java. The SDK makes it easy to call AWS services using idiomatic Java APIs.
Azure SDK for Java Develop and deploy applications with the Azure SDK for Java.
Checker Framework The Checker Framework enhances Java's type system to make it more powerful and useful. This lets software developers detect and prevent errors in their Java programs. The Checker Framework includes compiler plug-ins ("checkers") that find bugs or verify their absence. It also permits you to write your own compiler plug-ins.
config configuration library for JVM languages using HOCON files
Dom4j Flexible XML framework for Java.
Dropwizard Dropwizard is a Java framework for developing ops-friendly, high-performance, RESTful web services.
Eclipse MicroProfile Optimizing Enterprise Java for a Microservices Architecture
Functional Java Functional Java is an open source library facilitating functional programming in Java. The library implements numerous basic and advanced programming abstractions that assist composition oriented development.
Google Cloud Java Client Libraries The Cloud Client Libraries are the recommended way to access Google Cloud APIs programmatically.
GraphQL Java The Java implementation of GraphQL
grpc A high performance, open source universal RPC framework
gson A Java serialization/deserialization library to convert Java Objects into JSON and back
guava Google core libraries for Java
guice Guice (pronounced 'juice') is a lightweight dependency injection framework for Java 8 and above, brought to you by Google.
iText The leading PDF library for developers
jackson Jackson has been known as "the Java JSON library" or "the best JSON parser for Java". Or simply as "JSON for Java". More than that, Jackson is a suite of data-processing tools for Java (and the JVM platform), including the flagship streaming JSON parser / generator library, matching data-binding library (POJOs to and from JSON) and additional data format modules to process data encoded in Avro, BSON, CBOR, CSV, Smile, (Java) Properties, Protobuf, TOML, XML or YAML; and even the large set of data format modules to support data types of widely used data types such as Guava, Joda, PCollections and many, many more (see below).
Jakarta Messaging (JMS) Jakarta Messaging™ is a Java Message Oriented Middleware API for sending messages between two or more clients. It is a programming model to handle the producer-consumer messaging problem.
Java Hamcrest Matchers that can be combined to create flexible expressions of intent
JAXB Java architecture for XML binding
JAXP Java API for XML processing
jsoup jsoup is a Java library for working with real-world HTML. It provides a very convenient API for fetching URLs and extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.
jUnit Java unit testing framework
Lombok Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your Java. Never write another getter or equals method again, with one annotation your class has a fully featured builder, Automate your logging variables, and much more.
Micronaut A modern, JVM-based, full-stack framework for building modular, easily testable microservice and serverless applications
mockito Tasty mocking framework for unit tests in Java
MockServer Easy mocking of any system you integrate with via HTTP or HTTPS
Neo4j The Graph Data Platform for Today's Intelligent Applications
OkHttp OkHttp is an HTTP client that’s efficient by default: HTTP/2 support allows all requests to the same host to share a socket. Connection pooling reduces request latency (if HTTP/2 isn’t available). Transparent GZIP shrinks download sizes. Response caching avoids the network completely for repeat requests.
Protocol Buffers Protocol buffers provide a language-neutral, platform-neutral, extensible mechanism for serializing structured data in a forward-compatible and backward-compatible way. It’s like JSON, except it's smaller and faster, and it generates native language bindings.
Quarkus A Kubernetes Native Java stack tailored for OpenJDK HotSpot and GraalVM, crafted from the best of breed Java libraries and standards.
retrofit A type-safe HTTP client for Android and Java
SLF4J Simple Logging Facade for Java (SLF4J)
Spock Spock is a testing and specification framework for Java and Groovy applications.
Spring Spring makes programming Java quicker, easier, and safer for everybody. Microservices, reactive, and more.
Spring Cloud Functions
Testcontainers Testcontainers is a Java library that supports JUnit tests, providing lightweight, throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.
unirest-java Unirest in Java: Simplified, lightweight HTTP client library.
Vavr Vavr core is a functional library for Java. It helps to reduce the amount of code and to increase the robustness.
Vert.x Reactive applications on the JVM
XStream XStream is a simple library to serialize objects to XML and back again.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment