Sometime known as Java Platform Module System (JPMS), but "Java Modules" is preferred.

"Full Java Modules Support" starts with modular sources.

Maven (4) Core

Maven core is currently (2025-12-01) at least incomplete if not inconsistent wrt. handling Java Modules as outlined in Build Sources Validation - Discussion Notes.

  • 4.0.0-beta-4: replace <module> with <subproject> #1651
  • 4.0.0-rc3: add <project><build><sources><source> element to POM #1936
  • 4.0.0(-rc6? TBD): accept Java Module name as attached artifactId #11573

Plugins

Pluginsupport since versioncomments
Maven Clean Plugin✅ since 4.0.0-beta-3 (not yet released)Side effect of module work (see below) https://github.com/apache/maven-clean-plugin/pull/276
Maven Compiler Plugin✅ since 4.0.0-beta-3Documentation: see the "configuration" menu with multi-source/release/module pages and module-info patch for tests

Maven Resource Plugin

⚠️Proper handling of resources in the Maven Core would silently be used by the Resource Plugin, so that no change should be necessary (cf. PR-11505).

Maven Surefire Plugin

⚠️ in progressJUnit 3 provider dropped in 3.6.0-SNAPSHOT. Module Source Hierarchy and module-info-patch.args support tracked in #3345. Proof-of-concept patch available with all existing tests passing. Workaround for 3.5.5 documented in the issue.

Maven JAR Plugin

in progressrequire Maven core attach controls update
Maven Source Pluginin progress

Needs Maven 4 with MNG-8395 - Getting issue details... STATUS (delivered in 4.0.0-rc-3)

Maven Javadoc Pluginchanges may be applied elsewhere (see below)

Maven Install Plugin

Maven Deploy Plugin

may not need changes (see below)

Notes:

  • The Maven Clean Plugin is not directly concerned by the Java Module work. But it may need to clean more directories than before, because Maven 4 generalizes the concept of target resource directories.
  • The Maven Javadoc Plugin could be replaced, in some circumstances, by the Maven Compiler Plugin. This is because javac and javadoc are closely related in the javax.tools API. They share the use of JavaFileManager , have many options in common, and work together as we can see from the Javadoc warnings emitted during javac execution if -Xdoclint options are enabled. Whether we want to do some Javadoc work in the compiler plugin is yet to be discussed.
  • The Maven Install/Deploy Plugin may need no changes. It is not certain that the changes in the JAR plugin will impact the deployment.


References

  • No labels