Any library you would like to recommend to others as it helps you a lot? For me, mapstruct is one of them. Hopefully I would hear some other nice libraries I never try.

This page summarizes the projects mentioned and recommended in the original post on /r/java

Our great sponsors
  • Sonar - Write Clean Java Code. Always.
  • Mergify - Updating dependencies is time-consuming.
  • InfluxDB - Collect and Analyze Billions of Data Points in Real Time
  • javawriter

    A Java API for generating .java source files.

    Javapoet. This helped me a lot, because i wrote two generators, one for one employer, who don't like dynamic generators, so the first was to generate mappers like mapstruct does; from model to pojos and viceversa. The second one was a static testing pojo factory generator; this last one i made public (it's pretty basic and now we have projects like instancio and podam) its name is mother-factory.

  • picocli

    Picocli is a modern framework for building powerful, user-friendly, GraalVM-enabled command line apps with ease. It supports colors, autocompletion, subcommands, and more. In 1 source file so apps can include as source & avoid adding a dependency. Written in Java, usable from Groovy, Kotlin, Scala, etc.

    Picocli is a pretty good one for writing CLI apps

  • Sonar

    Write Clean Java Code. Always.. Sonar helps you commit clean code every time. With over 600 unique rules to find Java bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.

  • record-builder

    Record builder generator for Java records

    Record builder is pretty good for making builders for your Java 17 records

  • Auto

    A collection of source code generators for Java.

    I like to use AutoService to make using Java's ServiceLoader easier.

  • Error Prone

    Catch common Java mistakes as compile-time errors

    error-prone is good for some extra static analysis.

  • jqwik

    Property-Based Testing on the JUnit Platform

  • JavaCPP

    The missing bridge between Java and native C++

    JavaCPP and presets for working with JNI

  • Mergify

    Updating dependencies is time-consuming.. Solutions like Dependabot or Renovate update but don't merge dependencies. You need to do it manually while it could be fully automated! Add a Merge Queue to your workflow and stop caring about PR management & merging. Try Mergify for free.

  • javacpp-presets

    The missing Java distribution of native C++ libraries

    JavaCPP and presets for working with JNI

  • afterburner.fx

    The Opinionated Un-Framework For Java FX Applications (by dlsc-software-consulting-gmbh)

    Afterburner.fx for FXML loading and dependency injection in JavaFX

  • atlantafx

    Modern JavaFX CSS theme collection with additional controls.

    AtlantaFX & CSSFX for styling in JavaFX

  • cssfx

    Allow runtime modification of JavaFX CSS (by McFoggy)

    AtlantaFX & CSSFX for styling in JavaFX

  • Disruptor

    High Performance Inter-Thread Messaging Library

    Disruptor for inter-thread messaging

  • jmh

    JMH for benchmarks

  • awesome-java

    A curated list of awesome Java libraries (by pditommaso)

  • Jackson JSON Processor

    Main Portal page for the Jackson project

    Jackson. Because JSON.

  • jOOQ

    jOOQ is the best way to write SQL in Java

    JOOQ. I love this one; its very very useful when you don't need/like any ORM, and it works with, for example Spring JDBC, so you don't have to write directly the SQL into Strings. The generator helps you with all the DAO layer, and if you want it generates JPA Models too.

  • Jimfs

    An in-memory file system for Java 7+

    Recently been using JIMFS. Made my tests much faster and cleaner!

  • instancio

    A library that creates fully populated objects for your unit tests.

    Instancio for generating test data AssertJ Awaitility Quarkus FluentJdbc: a thin wrapper around jdbc, you can use it as an alternative for JPA and I use it in Quarkus

  • Agrona

    High Performance data structures and utility methods for Java

    Aeron for low latency apps and Agrona is you're using Aeron for data structures

  • methanol

    ⚗️ Lightweight HTTP extensions for Java

    Methanol - Lightweight HTTP extensions for Java:

  • InfluxDB

    Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts