# JavaHiddenGems **Repository Path**: startgazzer/JavaHiddenGems ## Basic Information - **Project Name**: JavaHiddenGems - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-27 - **Last Updated**: 2025-11-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # JavaHiddenGems Make sure to start the Docker-webserver-cache container before running the OWASP dependency check or the Old GroupIds Alerter. ## Apache Maven Build Cache Extension Cache Maven builds to make them faster https://maven.apache.org/extensions/maven-build-cache-extension/ ## Apache PDFBox Create and change PDF files or extract content from PDF files https://pdfbox.apache.org/ ## Apache POI Create, change and read files based on the Office Open XML standards (OOXML) such as Word and Excel files. https://poi.apache.org/ ## ArchUnit Verify the Java code's architecture with unit tests. https://www.archunit.org/ ## AssertJ Test code with assertions. https://assertj.github.io/doc/ ## AutoService Generator for ServiceLoader service providers. https://github.com/google/auto ## AutoValue Generate immutable value classes. https://github.com/google/auto ## Awaitility Test asynchronous applications with a DSL. https://github.com/awaitility/awaitility ## Buildpacks Create (Docker) images. https://buildpacks.io/ ## ClassGraph Classpath and module scanner for Java and other JVM languages. https://github.com/classgraph/classgraph ## Eclipse Deeplearning4j Suite of tools for deep learning on the JVM. https://projects.eclipse.org/projects/technology.deeplearning4j/ https://www.rcp-vision.com/build-your-first-neural-network-with-eclipse-deeplearning4j/ No example yet ## Eclipse Serializer Java serializer that does not require you to implement an interface or put annotations in your classes. https://github.com/eclipse-serializer/serializer ## EclipseStore Java-native persistence https://github.com/eclipse-store/store ## EqualsVerifier Testing equals() and hashCode(). https://jqno.nl/equalsverifier/ ## flexmark-java Parse markdown and render to HTML. See the build/extensions configuration in the Examples/pom.xml file https://github.com/vsch/flexmark-java ## Gatling Load testing for web applications. https://github.com/gatling/gatling ## Google Guice Dependency injection framework. https://github.com/google/guice ## GraphQL Java Query language for APIs. https://www.graphql-java.com/ ## Handlebars.java Merge data with Mustache/Handlebars templates. Comparable to Pebble Templates. https://github.com/jknack/handlebars.java ## iText PDF library https://itextpdf.com/en Be aware of the quite limiting license: https://fossa.com/blog/open-source-software-licenses-101-agpl-license/ Apache PDFBox may be used as an alternative. ## Jacoco Code coverage library. https://www.jacoco.org/jacoco/ coverage unit test and running application ## Jenetics Java Genetic Algorithm, Evolutionary Algorithm, Genetic Programming, and Multi-objective Optimization library. https://jenetics.io/ No example yet ## J2CL / GWT J2CL is a transpiler from Java to Closure style JavaScript. https://github.com/google/j2cl https://www.gwtproject.org/ More info https://lofidewanto.medium.com/web-browser-programming-in-java-e69a153fcb15 No example yet ## Java/JDK Mission Control Monitor and diagnose applications, can also be used together with Flight Recorder. https://docs.oracle.com/en/java/java-components/jdk-mission-control/8/user-guide/ ## Java/JDK Flight Recorder Collecting diagnostic and profiling data for a running application. https://developers.redhat.com/blog/2020/08/25/get-started-with-jdk-flight-recorder-in-openjdk-8u#using_jdk_flight_recorder_with_jdk_mission_control ## JavaPoet Java API for generating .java source files. Be careful the one from Square is no longer maintained. There are some alternatives such as for example the one below. https://github.com/palantir/javapoet ## Jbang Edit and run source-only Java programs. https://www.jbang.dev/ ## Jdbi Relational database access. https://jdbi.org/ ## Jib Build optimized Docker and OCI images without a Docker daemon. https://github.com/GoogleContainerTools/jib ## JfrUnit Assert Flight Recorder events. https://github.com/moditect/jfrunit ## jlink Generate custom Java runtime images with only the required platform modules. https://www.baeldung.com/jlink https://access.redhat.com/documentation/en-us/openjdk/11/html/using_jlink_to_customize_java_runtime_environment/index ## jMolecules Describe architectural styles such as layered, onion and hexagonal with annotations. Explicitly use DDD concepts with annotations or interfaces instead of naming classes ...Entity. ByteBuddy is used to map the annotations to Spring Data annotations during the build. https://github.com/xmolecules/jmolecules ## JobRunr Distributed job scheduler. https://www.jobrunr.io/en/ ## jOOQ Integrate SQL queries in Java. https://www.jooq.org/ ## jpackage Create native installers and packages. https://www.baeldung.com/java14-jpackage ## JReleaser Package and distribute the application to Homebrew, Chocolatey and others. https://jreleaser.org/ ## JShell Interactive shell to learn and prototype Java code. https://en.wikipedia.org/wiki/JShell ## jsoup HTML parser. https://jsoup.org/ ## libphonenumber Parsing, formatting and validating phone numbers. https://github.com/google/libphonenumber ## MapStruct Code generator to map between bean types. https://mapstruct.org/ ## Maven Central Search (mcs) Search dependency coordinates in Maven Central. https://github.com/mthmulders/mcs ## Maven Dependency Plugin Analyze and manipulate artifacts. https://maven.apache.org/plugins/maven-dependency-plugin/ ## Maven Enforcer Plugin Enforce constraints such as the Maven or JDK version. The [Maven Enforcer Plugin](https://maven.apache.org/enforcer/maven-enforcer-plugin/) ## Maven Projects Info Reports Plugin Generate reports about the project. https://maven.apache.org/plugins/maven-project-info-reports-plugin/ ## Maven Versions Plugin / Gradle Versions Plugin Manage artifact versions. https://www.mojohaus.org/versions-maven-plugin/ https://github.com/ben-manes/gradle-versions-plugin ## Maven Wrapper Manages Maven version and configuration so the application uses the same setup everywhere. https://maven.apache.org/wrapper/ ## Micrometer application monitoring Deliver application metrics from Spring Boot. https://micrometer.io/ ## Moduliths Verify the modular structure for Spring Boot applications between modules based on ArchUnit. https://github.com/moduliths/moduliths ## mvnd (Apache Maven Daemon) Faster Maven builds. The [mvnd](https://github.com/apache/maven-mvnd) ## Old GroupIds Alerter Maven Plugin / Old GroupIds AlerterGradle Plugin Checks for deprecated groupIds/ArtifactIds and suggests alternatives. https://github.com/jonathanlermitage/oga-maven-plugin https://github.com/jonathanlermitage/oga-gradle-plugin ## OpenRewrite Seach and transform Java applications, for instance to update frameworks, or to migrate to other frameworks. https://docs.openrewrite.org/ ## (OWASP) Dependency Check Maven / (OWASP) Dependency Check Gradle Detect publicly disclosed vulnerabilities in dependencies. https://jeremylong.github.io/DependencyCheck/dependency-check-maven/ https://jeremylong.github.io/DependencyCheck/dependency-check-gradle/index.html **Be aware that the plugin uses a CVE database and that one has some changes coming in the endpoints such as rate limits and an API key: https://nvd.nist.gov/General/News/changes-to-feeds-and-apis. Google also has a CVE database https://github.com/github/advisory-database#license but it looks like there's no (Maven) plugin for it yet.** ## Passay Library to enforce rules for passwords. https://www.passay.org/ ## Pebble Templates Templating engine comparable to Handlebars https://pebbletemplates.io/ ## picocli One file framework to create Java command line applications. https://picocli.info/ ## Playwright End-to-end testing for web applications. https://playwright.dev/ No example yet ## Pitest or PIT Mutation Testing Test your unit tests by automatically changing production code and rerunning the tests to see if they still pass. The [Pitest](https://pitest.org/) ## Renovate Creates pull requests to update the dependencies. https://docs.renovatebot.com/java/ ## Dependabot Creates pull requests to update the dependencies. https://docs.github.com/en/code-security/dependabot ## Resilience4j Fault tolerance library. https://github.com/resilience4j/resilience4j No example yet ## REST Assured Test and validate REST services. https://rest-assured.io/ ## RESTEasy Supports building REST applications. https://github.com/resteasy/Resteasy ## Retrofit Type safe HTTP client. https://square.github.io/retrofit/ ## ShedLock Guarantees that scheduled tasks are executed at most once at the same time in a distributed environment. https://github.com/lukas-krecan/ShedLock ## SDKMAN! Manage multiple versions of Software Development Kits (SDK's). https://sdkman.io/ ## Spark Perform data engineering, science and machine learning on a single machine and on clusters. https://spark.apache.org/ https://github.com/apache/spark ## Testcontainers Provides database, Selenium and many other containers to test against in unit tests. https://www.testcontainers.org/ https://github.com/testcontainers/testcontainers-java ## Timefold Solve planning and scheduling challenges such as vehicle routing, rostering, create schedules etcetera. https://timefold.ai/ ## Togglz Feature flaggs. https://www.togglz.org/ https://github.com/togglz/togglz ## Lightbend/TypeSafe config and tsc-reload Load and reload configuration such as property files. https://github.com/lightbend/config https://github.com/arkadius/tsc-reload ## Vavr Functional library. https://www.vavr.io/ https://github.com/vavr-io/vavr ## Wiremock Create mock APIs. http://wiremock.org https://github.com/wiremock/wiremock ## zxcvbn Password strength estimator. Several implementations exist for Java. https://github.com/nulab/zxcvbn4j https://github.com/GoSimpleLLC/nbvcxz