JPMS Migration Playground

This page summarizes the projects mentioned and recommended in the original post on dev.to

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • jpms-migration-playground

    Playing around with modularizing monolithic jars.

  • foo is the artifact needed by my project, baz. It is configured to be deployed to my project, baz's lib folder as a monolithic jar. I've used the flatten plugin to strip foo's pom from its dependencies, so that bar will not be known at compile time to whomever uses foo.

  • moditect

    Tooling for the Java Module System

  • The next solution, which is the one I'm writing about. Is to modularize foo's jar, this is easily accomplished using the moditect plugin. But it can be tricky since I don't have, nor do I need, bar, and I prefer doing most of the work in build time and not manually.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • junit-platform-maven-plugin

    Maven Plugin launching the JUnit Platform

  • The junit-platform plugin requires some tweaking so it can see the new module:

  • os-maven-plugin

    A Maven plugin that sets various useful properties detected from ${os.name} and ${os.arch} properties.

  • We can accomplish this by leveraging the gmavenplus plugin to execute a small groovy script. To better accommodate both Windows and Non-Windows os families, we'll use the os plugin to create the os.detected.name.

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