Browse free open source Java Libraries and projects below. Use the toggles on the left to filter open source Java Libraries by OS, license, language, programming language, and project status.

  • Ship Agents Faster Icon
    Ship Agents Faster

    Transform your applications and workflows into powerful agentic systems at global scale.

    Gemini Enterprise Agent Platform lets you rapidly build, scale, govern and optimize production-ready agents grounded in your organization's data. The platform enables developers to build custom or pre-built agents for virtually any use case. New customers get $300 in free credits.
    Start Free
  • One Monitoring Tool for IT, OT and Cloud | Free Trial Icon
    One Monitoring Tool for IT, OT and Cloud | Free Trial

    Vendor-agnostic monitoring across on-prem servers, cloud platforms and OT devices, all in one dashboard. No more tool sprawl.

    Modern infrastructure spans data centers, cloud platforms and factory floors, and every blind spot between them is a risk. PRTG supports SNMP, WMI, SSH and other standard protocols to monitor IT, OT and hybrid environments through one customizable dashboard. Build the views your team needs, from network health to application performance, without switching tools. Try PRTG free for 30 days now.
    Try PRTG Free
  • 1
    A Guide to Java 8

    A Guide to Java 8

    Introduction to Java 8

    Java 8 Tutorial is a practical guide to the major language and API additions introduced with Java 8. It teaches new concepts through short, heavily commented code examples instead of long theoretical explanations. Topics include default interface methods, lambda expressions, functional interfaces, method references, and constructor references. The guide also covers built-in functional types such as predicates, functions, suppliers, consumers, and comparators. Later sections explain Optional, streams, parallel streams, Map enhancements, the new Date and Time API, and annotations. Examples demonstrate filtering, mapping, sorting, reduction, and other common functional programming patterns. The repository is intended as a compact reference for developers moving from earlier Java versions to Java 8.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 2
    Android Hidden APIs

    Android Hidden APIs

    A library that provides access to Android hidden APIs

    Android Hidden APIs are classes, methods, and resources that Google hides from you because of stability reasons. These features are hidden because they may be changed on next API version. The internal APIs are located in package com.android.internal and available in the framework.jar, while the hidden APIs are located in the android.jar file with @hide javadoc attribute. Now you know the difference. But I will refer to both as hidden APIs. This repo contains a custom android.jar which you can use to develop your app.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 3
    Brave

    Brave

    Java distributed tracing implementation compatible with Zipkin backend

    Brave is a distributed tracing instrumentation library. Brave typically intercepts production requests to gather timing data, correlate and propagate trace contexts. While typically trace data is sent to Zipkin server, third-party plugins are available to send to alternate services such as Amazon X-Ray. This repository includes dependency-free Java libraries and instrumentation for common components used in production services. For example, this includes trace filters for Servlet and log correlation for Apache Log4J. Brave's dependency-free tracer library works against JRE6+. This is the underlying api that instrumentation use to time operations and add tags that describe them. This library also includes code that parses X-B3-TraceId headers.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 4
    Eclipse Collections

    Eclipse Collections

    Eclipse Collections is a collections framework for Java

    Eclipse Collections is the best Java collections framework ever that brings happiness to your Java development. Integrate it to your codebase today with your favorite build tools! Maximize the power of Java 8 Lambda expressions and method references with rich APIs directly available on your collections. Many container types include immutable collections, primitive collections, bimaps, multimaps and bags. You can make use of various container types, leveraging handy factory methods for instantiation. Eclipse Collections provides a memory-efficient implementation of Sets and Maps as well as primitive collections. Check out the Eclipse Collections Kata, a fun way to help you learn idiomatic Eclipse Collections usage. This particular kata is set up as a series of unit tests that fail. Your task is to make them pass, using Eclipse Collections.
    Downloads: 2 This Week
    Last Update:
    See Project
  • Cut Data Warehouse Costs by 54% Icon
    Cut Data Warehouse Costs by 54%

    Easily migrate from Snowflake, Redshift, or Databricks with free tools.

    BigQuery delivers 54% lower TCO with exabyte scale and flexible pricing. Free migration tools handle the SQL translation automatically.
    Start Free
  • 5
    Google Cloud Dataflow Template Pipelines

    Google Cloud Dataflow Template Pipelines

    Cloud Dataflow Google-provided templates for solving data tasks

    DataflowTemplates is the source repository for Google-provided Dataflow templates that are intended to solve large-scale in-cloud data processing tasks without requiring users to build everything from scratch in a full development environment. The repository is centered on templated pipelines powered by Google Cloud Dataflow and Apache Beam, making it easier to run common integration and movement jobs such as data import, export, backup, restore, and bulk API operations. Its structure shows support for multiple generations of templates, including v1 and v2 implementations, as well as related metadata, YAML assets, plugins, and Python components that support broader template execution and maintenance. This design makes the project more than a sample set, because it acts as the implementation base for official Google-provided templates used in real cloud data workflows.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 6
    Heritrix

    Heritrix

    Internet Archive's open-source, web-scale, web crawler project

    Heritrix is the Internet Archive's open-source, extensible, web-scale, archival-quality web crawler project. Heritrix (sometimes spelled heretrix, or misspelled or missaid as heratrix/heritix/heretix/heratix) is an archaic word for heiress (woman who inherits). Since our crawler seeks to collect and preserve the digital artifacts of our culture for the benefit of future researchers and generations, this name seemed apt. Heritrix is designed to respect the robots.txt exclusion directives† and META nofollow tags. Please consider the load your crawl will place on seed sites and set politeness policies accordingly. Also, always identify your crawl with contact information in the User-Agent so sites that may be adversely affected by your crawl can contact you or adapt their server behavior accordingly.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 7
    Hutool

    Hutool

    A set of tools that keep Java sweet

    Hutool is a small but comprehensive Java tool class library. Through static method encapsulation, it reduces the learning cost of related APIs, improves work efficiency, makes Java as elegant as a functional language, and makes the Java language "sweet". The tools and methods in Hutool come from each user's meticulous attention to detail. It covers all aspects of the underlying code of Java development. It is not only a sharp tool to solve small problems in large-scale project development, but also an efficiency responsibility in small-scale projects. Hutool is a friendly replacement for the "util" package in the project. It saves developers the time of encapsulating public classes and public tool methods in the project, allowing developers to focus on business while avoiding bugs caused by imperfect encapsulation to the greatest extent.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 8
    JVM Sandbox

    JVM Sandbox

    Real-time non-invasive AOP framework container based on JVM

    JVM sandbox container, a JVM non-invasive runtime AOP solution. Real-time non-invasive AOP framework container based on JVM. Dynamically enhance the class you specify, get the parameters and line information you want, and even change the method execution. JVM-SANDBOX (sandbox) implements an AOP solution that does not restart or invade the target JVM application. Static knitting occurs when the bytecode is generated, and the AOP bytecode is inserted into the target class and method in advance according to the rules of a certain framework to realize AOP. Dynamic knitting allows the AOP bytecode enhancement of the specified method to be completed during the JVM operation. Most common dynamic knitting schemes use renaming the original method, and then create a new method with the same signature to do the proxy work mode to complete The function of AOP (common implementation scheme such as CgLib), but there are some application boundaries in this way.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 9
    JaCoCo Java Code Coverage Library

    JaCoCo Java Code Coverage Library

    Java Code Coverage Library

    JaCoCo is a free code coverage library for Java, which has been created by the EclEmma team based on the lessons learned from using and integrating existing libraries for many years.
    Downloads: 2 This Week
    Last Update:
    See Project
  • Veeam Data Platform v13.1 - Get Your Free Trial Icon
    Veeam Data Platform v13.1 - Get Your Free Trial

    Secure by design, portable by default. Recover clean, fast, anywhere. Start a free trial.

    Try Veeam Data Platform today. Experience the unified platform that's secure by design, portable by default, and proven to recover clean, fast, and anywhere.
    Try it Free
  • 10
    Java Core Learning Example

    Java Core Learning Example

    Examples of learning and accumulating Java core technologies

    Java Core Learning Example is an educational Java repository focused on core language concepts and practical examples for beginners and developers reviewing fundamentals. It covers syntax, object-oriented programming, collections, I/O, NIO, reflection, runtime type information, threading, networking, and initialization behavior. Java 8 material includes lambda expressions and the Stream API. Each topic is paired with runnable code and corresponding tests where available. The collection also demonstrates performance comparisons between common collection types and I/O approaches. A small RPC example combines dynamic proxies with sockets to show how multiple Java concepts can work together. The repository is organized as a study reference rather than a production framework.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 11
    OpenGrok

    OpenGrok

    Fast and usable source code search and cross reference engine

    OpenGrok is a fast and usable source code search and cross reference engine. It helps you search, cross-reference and navigate your source tree. It understands various program file formats and history from many Source Code Management systems. In other words it lets you grok (profoundly understand) source code and is developed in the open, hence the name OpenGrok. It is written in Java.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 12
    PRDownloader

    PRDownloader

    A file downloader library for Android with pause and resume support

    A file downloader library for Android with pause and resume support. PRDownloader can be used to download any type of files like image, video, pdf, apk and etc. This file downloader library supports pause and resume while downloading a file. Supports large file download. This downloader library has a simple interface to make download request. We can check if the status of downloading with the given download Id. PRDownloader gives callbacks for everything like onProgress, onCancel, onStart, onError and etc while downloading a file. Supports proper request canceling. Many requests can be made in parallel. All types of customization are possible.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 13
    YCWebView

    YCWebView

    Based on the Tencent x5 open source library

    YCWebView is an Android WebView framework built around Tencent's X5 engine to reduce the amount of custom integration code required for hybrid applications. It provides a decoupled JavaScript bridge for communication between web content and native Android code. Developers can monitor loading progress, network failures, HTTP errors, SSL problems, and other page states through exposed listeners. The framework supports full-screen video, office-document viewing, file uploads, night mode, incognito mode, and display adjustments for notched screens. Resource interception can be combined with OkHttp caching, while optional HTTP DNS handling targets faster and more reliable loading. URL scheme handling covers actions such as calls, messages, email, payments, native-app launching, and other deep-link behaviors.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 14
    jasypt-spring-boot

    jasypt-spring-boot

    Jasypt integration for Spring boot

    Jasypt Spring Boot provides Encryption support for property sources in Spring Boot Applications. There are 3 ways to integrate just-spring-boot in your project. And encryptable properties will be enabled across the entire Spring Environment (This means any system property, environment property, command line argument, application.properties, yaml properties, and any other custom property sources can contain encrypted properties) Jasypt uses an StringEncryptor to decrypt properties. For all 3 methods, if no custom StringEncryptor (see the Custom Encryptor section for details) is found in the Spring Context, one is created automatically that can be configured through the following properties (System, properties file, command line arguments, environment variable, etc.).
    Downloads: 2 This Week
    Last Update:
    See Project
  • 15
    pushy

    pushy

    A Java library for sending APNs (iOS/macOS/Safari)

    Pushy is a Java library for sending APNs (iOS, macOS, and Safari) push notifications. Pushy sends push notifications using Apple’s HTTP/2-based APNs protocol and supports both TLS and token-based authentication. It distinguishes itself from other push notification libraries with a focus on thorough documentation, asynchronous operation, and design for industrial-scale operation. With Pushy, it’s easy and efficient to maintain multiple parallel connections to the APNs gateway to send large numbers of notifications to many different applications (“topics”). We believe that Pushy is already the best tool for sending APNs push notifications from Java applications, and we hope you’ll help us make it even better via bug reports and pull requests. If you need a simple GUI application for sending push notifications for development or testing purposes, you might also be interested in Pushy’s sister project, Pushy Console.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 16
    JDatePicker: Java Swing Date Picker

    JDatePicker: Java Swing Date Picker

    This project now lives at: https://github.com/JDatePicker/JDatePicker

    This project now lives at: https://github.com/JDatePicker/JDatePicker Will keep this sf.net project active to point to github. JDatePicker and JDatePanel is an set of advanced DatePicker controls for Java Swing applications. The MVC design enables us to display any date object such as Joda-Time DateMidnight. The date picker also works well with JGoodies Binding.
    Downloads: 10 This Week
    Last Update:
    See Project
  • 17
    JDAL (Java Database Application Library)

    JDAL (Java Database Application Library)

    Java data access and swing binding library

    JDAL is a Java library that aims to help developers making database applications easily using Spring Framework and Hibernate, JPA or IBatis ORMs. Support generic DAOs and ready to use UI Components with server side pagination and sorting.
    Downloads: 46 This Week
    Last Update:
    See Project
  • 18

    UnboundID LDAP SDK for Java

    A Java-based LDAP API

    A fast, comprehensive, and easy-to-use Java API for communicating with LDAP directory servers and performing related tasks like reading and writing LDIF, encoding and decoding data using base64 and ASN.1 BER, and performing secure communication.
    Leader badge
    Downloads: 9 This Week
    Last Update:
    See Project
  • 19
    iText®, a JAVA PDF library

    iText®, a JAVA PDF library

    PDF Library for Developers

    iText is an open-source PDF library available for Java and .NET (C#). iText allows you to effortlessly generate and manipulate standards-compliant PDF documents with a powerful and feature-rich SDK. With iText, you can create archivable and accessible PDFs, split and merge documents, fill and flatten forms, digitally sign documents, and more. iText add-ons enable additional functionality, such as PDF creation from HTML templates, secure redaction, OCR, and much more. The latest versions of iText build on the success of previous versions and feature an improved document engine, high and low-level programming capabilities, and a more efficient modular structure. iText represents the next level for developers looking to leverage PDF in document workflows. The main project page for iText is now on GitHub, and all the latest releases, code samples, open source add-ons and tools, etc. can be found at https://github.com/itext/.
    Downloads: 43 This Week
    Last Update:
    See Project
  • 20

    fxsvgimage

    This library allows to convert a SVG file to a JavaFX Node tree

    This library allows to convert a SVG file to a JavaFX Node tree or an Image. Note that contrary to other existing libraries, this library has no external dependencies (including Batik). The main development is here : https://github.com/hervegirod/fxsvgimage
    Downloads: 40 This Week
    Last Update:
    See Project
  • 21
    The ftp4j library implements a Java full-featured FTP client. With ftp4j embedded in your application you can: transfer files (upload and download), browse the FTP site (directory listing), create, delete, rename and move directories and files.
    Downloads: 11 This Week
    Last Update:
    See Project
  • 22
    JAAD
    JAAD is an open-source AAC decoder and MP4 demultiplexer library written completely in Java. It is platform-independent and portable.
    Leader badge
    Downloads: 8 This Week
    Last Update:
    See Project
  • 23
    The JAVE (Java Audio Video Encoder) library is Java wrapper on the ffmpeg project. Developers can take take advantage of JAVE to transcode audio and video files from a format to another (
    Downloads: 18 This Week
    Last Update:
    See Project
  • 24
    Chronicle Queue

    Chronicle Queue

    Micro second messaging that stores everything to disk

    Micro second messaging that stores everything to disk. With millions of users worldwide, Chronicle Queue is a leading choice for organizations of all sizes seeking a low-latency, high-performance messaging framework. The Chronicle Queue Enterprise version eliminates compatibility issues and allows for the seamless integration and sharing of data between Java, Rust, Python, and C++ libraries. Chronicle Queue is available as a fully native Java, Rust or C++ library, and also supports a Python API. All versions are fully binary compatible.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 25
    EasyExcel

    EasyExcel

    Lightweight Java library developed by Alibaba for reading and writing

    EasyExcel is a Java library focused on reading and writing Excel files with very low memory usage, making it suitable for large datasets that overwhelm traditional APIs. It uses streaming/event-driven parsing to avoid loading entire workbooks into memory, and it maps rows to Java objects via simple annotations. Writers support multiple sheets, custom styles, merged cells, and template-based filling so production reports remain maintainable. The API emphasizes developer ergonomics: callbacks are straightforward, converters handle common type transformations, and header/column mapping is explicit. It integrates cleanly into Spring/enterprise stacks, often as part of import/export pipelines or scheduled report generation. By optimizing both performance and ease of use, EasyExcel reduces operational risk around big Excel jobs in web services and back-office tools.
    Downloads: 1 This Week
    Last Update:
    See Project