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: accept Java Module name as attached artifactId #11573

Plugins

Pluginsupport since versioncomments
Maven Clean Plugin✅ since 4.0.0-beta-3Side effect of module work (see below)
Maven Compiler Plugin✅ since 4.0.0-beta-3Documentation on maven.apache.org

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

⚠️ waiting for simplification (drop of JUnit 3 support).

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