SkillAgentSearch skills...

TheBestOfJava

This repository is a list of great frameworks, libraries and software for the Java programming language.

Install / Use

/learn @a36069/TheBestOfJava
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

the Best Of Java

This repository is a list of great frameworks, libraries and software for the Java programming language.

Contents

Projects

Bean Mapping

Frameworks that ease bean mapping.

  • dOOv - 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 - Uses byte code manipulation for lightning-fast mapping. Supports annotations and API or XML configuration.
  • MapStruct - Code generator that simplifies mappings between different bean types, based on a convention-over-configuration approach.
  • ModelMapper - Intelligent object mapping library that automatically maps objects to each other.
  • Orika - JavaBean-mapping framework that recursively copies (among other capabilities) data from one object to another.
  • reMap - Lambda and method handle-based mapping which requires code and not annotations if objects have different names.
  • Selma - Annotation processor-based bean mapper.

Build

Tools that handle the build cycle and dependencies of an application.

  • 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.
  • Buck - 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.

Bytecode Manipulation

Libraries to manipulate bytecode programmatically.

  • ASM - All-purpose, low-level bytecode manipulation and analysis.
  • Byte Buddy - Further simplifies bytecode generation with a fluent API.
  • bytecode-viewer - 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 - Bytecode generation library.
  • Javassist - Tries to simplify bytecode editing.
  • Mixin - Manipulate bytecode at runtime using real Java code.
  • Perses - Dynamically injects failure/latency at the bytecode level according to principles of chaos engineering.

Caching

Libraries that provide caching facilities.

  • cache2k - In-memory high performance caching library.
  • Caffeine - High-performance, near-optimal caching library.
  • Ehcache - Distributed general-purpose cache.
  • Infinispan - Highly concurrent key/value datastore used for caching.

CLI

Libraries for everything related to the CLI.

  • ASCII Table - Library to draw tables in ASCII.
  • Airline - Annotation-based framework for parsing Git-like command-line arguments.
  • args4j - Small library to parse command-line arguments.
  • Jansi - ANSI escape codes to format console output.
  • Java ASCII Render - Graphical primitives for the console.
  • JCommander - Command-line argument-parsing framework with custom types and validation via implementing interfaces.
  • jbock - Reflectionless command line parser.
  • 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 Turbo Vision.
  • JLine - Includes features from modern shells like completion or history.
  • JOpt Simple - Fluent parser that uses the POSIX#getopt and GNU#getopt_long syntaxes.
  • picocli - ANSI colors and styles in usage help with annotation-based POSIX/GNU/any syntax, subcommands, strong typing for both options and positional args.
  • Text-IO - Aids the creation of full console-based applications.
  • Lanterna - Easy console text-GUI library, similar to curses. (LGPL-3.0-only)

Cluster Management

Frameworks that can dynamically manage applications inside of a cluster.

  • Apache Aurora - Mesos framework for long-running services and cron jobs.
  • Singularity - Mesos framework that makes deployment and operations easy. It supports web services, background workers, scheduled jobs, and one-off tasks.

Code Analysis

Tools that provide metrics and quality measurements.

  • Checkstyle - Static analysis of coding conventions and standards. (LGPL-2.1-or-later)
  • Error Prone - Catches common programming mistakes as compile-time errors.
  • Infer - Modern static analysis tool for verifying the correctness of code.
  • jQAssistant - Static code analysis with Neo4J-based query language. (GPL-3.0-only)
  • NullAway - Eliminates NullPointerExceptions with low build-time overhead.
  • PMD - Source code analysis for finding bad coding practices.
  • SonarJava - Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only)
  • Spoon - Library for analyzing and transforming Java source code.
  • Spotbugs - Static analysis of bytecode to find potential bugs. (LGPL-2.1-only)

Code Coverage

Frameworks and tools that enable code coverage metrics collection for test suites.

  • 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.

Code Generators

_Tools that generate patterns for repetitive code in order to reduce verbosity

View on GitHub
GitHub Stars44
CategoryDevelopment
Updated1mo ago
Forks18

Security Score

90/100

Audited on Feb 6, 2026

No findings