Sometime known as Java Platform Module System (JPMS), but "Java Modules" is preferred.
"Full Java Modules Support" starts with modular sources.
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.
| Plugin | support since version | comments |
|---|---|---|
| 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-3 | Documentation: 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 progress | JUnit 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 progress | require Maven core attach controls update |
| Maven Source Plugin | in progress | Needs Maven 4 with |
| Maven Javadoc Plugin | ❌ | changes may be applied elsewhere (see below) |
Maven Install Plugin Maven Deploy Plugin | ❌ | may not need changes (see below) |
Notes:
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.