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

awesome-java

A curated list of awesome frameworks, libraries and software for the Java programming language.
https://github.com/eric-erki/awesome-java

Last synced: 10 days ago
JSON representation

  • Projects

    • Security

      • 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.
      • 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.
      • pac4j - Security engine.
      • SecurityBuilder - Fluent Builder API for JCA and JSSE classes and especially X.509 certificates.
      • Tink - Provides a simple and misuse-proof API for common cryptographic tasks.
      • Vault - Secures, stores, and tightly controls access to tokens, passwords, certificates, API keys, and other secrets. It handles leasing, key revocation, key rolling, and auditing. Through a unified API, users can access an encrypted Key/Value store and network encryption-as-a-service, or generate AWS IAM/STS credentials, SQL/NoSQL databases, X.509 certificates, SSH credentials, and more.
      • Keycloak - Integrated SSO and IDM for browser apps and RESTful web services.
    • 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.
    • Server

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

      • Jtwig - Modular, configurable and fully tested template engine.
      • Jade4J - Implementation of Pug (formerly known as Jade).
      • Rocker - Optimized, memory efficient and speedy template engine producing statically typed, plain objects.
      • Jtwig - Modular, configurable and fully tested template engine.
      • Handlebars.java - Logicless and semantic Mustache templates.
      • Thymeleaf - Aims to be a substitute for JSP and works for XML files.
    • Testing

      • GreenMail - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. (GPL-2.0-only)
      • 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.
      • 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 combine API test-automation, mocks and performance-testing making testing REST/HTTP services easy.
      • Cucumber - Provides a way to describe features in a plain language which customers can understand.
      • 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.
      • Beanmother - Sets up beans from YAML fixtures.
      • Fixture Factory - Generates fake objects from a template.
      • jFairy - Fake data generator.
      • Randomized Testing - JUnit test runner and plugins for running JUnit tests with pseudo-randomness.
      • Java Faker - Port of Ruby's fake data generator.
      • ArchUnit - Test library for specifying and asserting architecture rules.
      • XMLUnit - Simplifies testing for XML output.
      • junit-dataprovider - TestNG-like data provider/runner for JUnit.
      • Mutability Detector - Reports whether instances of a given class are immutable.
      • raml-tester - Tests if a request/response matches a given RAML definition.
      • 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.
      • Pact JVM - Consumer-driven contract testing.
      • Awaitility - DSL for synchronizing asynchronous operations.
      • Cukes-REST - Collection of Gherkin steps for REST-service testing using Cucumber.
      • PowerMock - Mocks static methods, constructors, final classes and methods, private methods, and removal of static initializers.
      • JBehave - Extensively configurable framework that describes stories.
      • Hamcrest - Matchers that can be combined to create flexible expressions of intent.
      • pojo-tester - Automatically performs tests on basic POJO methods. (LGPL-3.0-only)
      • REST Assured - DSL for easy testing of REST/HTTP services.
      • JUnit - Common testing framework.
      • AssertJ - Fluent assertions that improve readability.
    • Utility

      • Guava - 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)
      • 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.
      • 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)
      • JavaVerbalExpressions - Library that helps with constructing difficult regular expressions.
      • JGit - Lightweight, pure Java library implementing the Git version control system.
      • minio-java - Provides simple APIs to access any Amazon S3-compatible object storage server.
      • Underscore-java - Port of Underscore.js functions.
      • bucket4j - Rate limiting library based on token-bucket algorithm.
      • Protégé - Provides an ontology editor and a framework to build knowledge-based systems.
      • cactoos - Collection of object-oriented primitives.
    • Version Managers

      • jabba - Java Version Manager inspired by nvm. Supports macOS, Linux and Windows.
      • SDKMan - Java Version Manager inspired by RVM and rbenv. Supports UNIX-based platforms and Windows.
      • jenv - Java Version Manager inspired by rbenv. Can configure globally or per project. Tested on Debian and macOS.
    • 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

      • Vaadin Flow - Event-driven framework that uses standard web components. Server-side architecture with Ajax on the client side.
      • 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.
      • PrimeFaces - JSF framework with both free and commercial/support versions and frontend components.
      • 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.
      • Bootique - Minimally opinionated framework for runnable apps.
      • Grails - Groovy framework that provides a highly productive environment by favoring convention over configuration, no XML and support for mixins.
      • Jooby - Scalable, fast and modular micro-framework that offers multiple programming models.
      • Ninja - Full-stack web framework.
      • Play - Built on Akka, it provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications in Java and Scala.
  • Resources