An open API service indexing awesome lists of open source software.

fucking-awesome-java

A curated list of awesome frameworks, libraries and software for the Java programming language. With repository stars⭐ and forks🍴
https://github.com/correia-jpv/fucking-awesome-java

Last synced: 16 days ago
JSON representation

  • Projects

    • Science

      • JFreeChart - 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only)
      • Indexer4j - Simple and light full text indexing and searching library.
    • Security

      • Ayza - High-level SSL configuration builder for configuring HTTP clients and servers with SSL/TLS.
      • DependencyCheck - Detects publicly disclosed vulnerabilities contained within a project's dependencies.
      • Hdiv - 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 - JSON web token for Java and Android.
      • jwt-java - Easily create and parse JSON Web Tokens and create customized JWT validators using a fluent API.
      • Jwks RSA - JSON Web Key Set parser.
      • Kalium - Binding for the Networking and Cryptography (NaCl) library.
      • Keywhiz - System for distributing and managing secrets.
      • Nbvcxz - Advanced password strength estimation.
      • OACC - Provides permission-based authorization services.
      • OpenAM - Access management solution that includes authentication, SSO, authorization, federation, entitlements and web services security.
      • OTP-Java - One-time password generator library according to RFC 4226 (HOTP) and RFC 6238 (TOTP).
      • pac4j - Security engine.
      • Password4j - User-friendly cryptographic library that supports Argon2, Bcrypt, Scrypt, PBKDF2 and various other cryptographic hash functions.
      • SecurityBuilder - Fluent Builder API for JCA and JSSE classes and especially X.509 certificates.
      • Themis - 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 - Provides a simple and misuse-proof API for common cryptographic tasks.
      • Certificate Ripper - CLI tool and library for extracting and exporting server certificates from HTTPS endpoints.
    • Serialization

      • FlatBuffers - Memory-efficient serialization library that can access serialized data without unpacking and parsing it.
      • FST - JDK-compatible, high-performance object graph serialization.
      • Kryo - Fast and efficient object graph serialization framework.
      • MessagePack - Efficient binary serialization format.
      • PHP Serializer - Serializing objects in the PHP serialization format.
      • Fury - Blazing fast object graph serialization framework powered by JIT and zero-copy.
    • Server

      • nanohttpd - Tiny, easily embeddable HTTP server.
    • Template Engine

      • Jade4J - Implementation of Pug (formerly known as Jade).
      • Jamal - Extendable template engine embedded into Maven/JavaDoc, supporting multiple extensions (Groovy, Ruby, JavaScript, JShell, PlantUml) with support for snippet handling.
      • jstachio - Typesafe Mustache templating engine.
      • jte - Compiles to classes, and uses an easy syntax, several features to make development easier and provides fast execution and a small footprint.
      • Jtwig - Modular, configurable and fully tested template engine.
      • Rocker - Optimized, memory efficient and speedy template engine producing statically typed, plain objects.
      • StringTemplate - Template engine for generating source code, web pages, emails, or any other formatted text output.
    • Testing

      • Awaitility - DSL for synchronizing asynchronous operations.
      • ConcurrentUnit - Toolkit for testing multi-threaded and asynchronous applications.
      • Hoverfly Java - Native bindings for Hoverfly, a proxy which allows you to simulate HTTP services.
      • Karate - DSL that combines API test-automation, mocks and performance-testing making testing REST/HTTP services easy.
      • REST Assured - DSL for easy testing of REST/HTTP services.
      • WebTau - Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts.
      • Cucumber - Provides a way to describe features in a plain language which customers can understand.
      • Cukes-REST - Collection of Gherkin steps for REST-service testing using Cucumber.
      • J8Spec - Follows a Jasmine-like syntax.
      • Lamdba Behave - Aims to provide a fluent API to write tests in long and descriptive sentences that read like plain English.
      • Serenity BDD - Automated Acceptance testing and reporting library that works with Cucumber, JBehave and JUnit to make it easier to write high quality executable specifications.
      • AutoParams - Supports generating test data or combining scenarios for parameterized tests.
      • Beanmother - Sets up beans from YAML fixtures.
      • Datafaker - Modern fake data generator forked from Java Faker.
      • Fixture Factory - Generates fake objects from a template.
      • jFairy - Fake data generator.
      • Instancio - Automates data setup in unit tests by generating fully-populated, reproducible objects. Includes JUnit 5 extension.
      • Randomized Testing - JUnit test runner and plugins for running JUnit tests with pseudo-randomness.
      • Java Faker - Port of Ruby's fake data generator.
      • Mockneat - Another fake data generator.
      • JMock - JMock is a high-performance data generation and simulation component library implemented in Java.
      • cdi-test - JUnit extension for easy and efficient testing of CDI components.
      • weld-testing - Set of test framework extensions (JUnit 4, JUnit 5, Spock) to enhance the testing of CDI components via Weld. Supports Weld 5.
      • selenium - Browser automation framework and ecosystem.
      • JsonUnit - Library that simplifies JSON comparison in tests.
      • XMLUnit - Simplifies testing for XML output.
      • ConsoleCaptor - Captures console output for unit testing purposes.
      • junit-dataprovider - TestNG-like data provider/runner for JUnit.
      • LogCaptor - Captures log entries for unit testing purposes.
      • log-capture - Captures log entries and provides assertions for unit and integration testing.
      • Mutability Detector - Reports whether instances of a given class are immutable.
      • raml-tester - Tests if a request/response matches a given RAML definition.
      • Selfie - Snapshot testing (inline and on disk).
      • Stebz - Multi-approach framework for test steps managing.
      • Testcontainers - 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 - Mocking framework that lets you write tests with a clean and simple API.
      • Moco - Concise web services for stubs and mocks.
      • PowerMock - Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers.
      • EasyMock - EasyMock is a Java library that provides an easy way to use Mock Objects in unit testing.
      • Pact JVM - Consumer-driven contract testing.
      • Kensa - Code-first BDD framework for Java and Kotlin that generates interactive HTML reports and sequence diagrams from test code.
      • skipper-java - Real-time test execution control via Google Spreadsheet, enabling instant toggle without code changes.
    • Utility

      • Arthas - Allows to troubleshoot production issues for applications without modifying code or restarting servers.
      • cactoos - Collection of object-oriented primitives.
      • Chocotea - 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 - Java/JavaFX tool capable of powerful ETL and data visualization.
      • dregex - 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 - Bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services.
      • fswatch - Micro library to watch for directory file system changes, simplifying java.nio.file.WatchService.
      • Gephi - Cross-platform for visualizing and manipulating large graph networks. (GPL-3.0-only)
      • Guava - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and more.
      • Javadoc Publisher - Generate Javadoc from your maven/gradle project and deploy it automatically on GitHub Page.
      • JavaVerbalExpressions - Library that helps with constructing difficult regular expressions.
      • JKScope - Java scope functions inspired by Kotlin.
      • minio-java - Provides simple APIs to access any Amazon S3-compatible object storage server.
      • Semver4j - Lightweight library that helps you handling semantic versioning with different modes.
      • Underscore-java - Port of Underscore.js functions.
      • bucket4j - Rate limiting library based on token-bucket algorithm.
      • java-util - Zero-dependency, high-performance utilities featuring Converter (universal type conversion), DeepEquals, CaseInsensitiveMap, TTLCache, CompactMap, MultiKeyMap, and object graph traversal.
      • Jctx - Reads a Java project and generates a structured context file so AI tools can understand and help plan the codebase.
      • java-refined - Zero-dependency refinement types for Java 8+ with type-safe wrappers covering numerics, strings, and collections.
      • Sift - Type-safe, AST-based Regex Builder focused on readability and ReDoS prevention.
    • Version Managers

      • jabba - Java Version Manager inspired by nvm. Supports macOS, Linux and Windows.
      • jenv - Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS.
      • SDKMan - Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows.
    • Web Crawling

      • Crawler4j - Simple and lightweight web crawler.
      • StormCrawler - SDK for building low-latency and scalable web crawlers.
      • webmagic - Scalable crawler with downloading, url management, content extraction and persistent.
      • StormCrawler - SDK for building low-latency and scalable web crawlers.
    • Web Frameworks

      • Blade - Lightweight, modular framework that aims to be elegant and simple.
      • Firefly - Asynchronous framework for rapid development of high-performance web application.
      • Pippo - Small, highly modularized, Sinatra-like framework.
      • Takes - Opinionated web framework which is built around the concepts of True Object-Oriented Programming and immutability.
      • WebForms Core - A technology for managing HTML tags from the server.
      • Erupt - Annotation-Driven Low-Code & JPA Visualization
      • tinystruct - Lightweight, pluggable framework for building Java applications with CLI, HTTP, and modular extension support.
    • Workflow Orchestration Engines

      • flowable - Compact and efficient workflow and business process management platform.
  • Resources

  • Source