Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Sibling multi-release module is not found on the module path before packaging

Open
#1,137 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
64/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
java
Domain
build-system

Research direction

Start with the apache/maven-executor reproducer at commit 10bf5cd and run mvn clean compile, focusing on the providers/docker-exe compile-java9 execution. Inspect how the plugin builds the module path for reactor dependencies whose descriptor is under META-INF/versions/9. Done means the sibling module compiles before packaging and the reported site-build scenario no longer fails.

Written by the indexing model from the issue text.

Description

3.x bug
Affected version

3.15.0, 3.16.0

Bug description

In a reactor where module A writes module-info.class only to META-INF/versions/9 (<multiReleaseOutput>true</multiReleaseOutput>, Java 8 baseline), a module B whose src/main/java9/module-info.java has requires A fails to compile whenever A has not been packaged in the same build:

module-info.java:[23,41] module not found: org.apache.maven.executor

Reproducer: apache/maven-executor at 10bf5cd. mvn clean verify succeeds; mvn clean compile fails in providers/docker-exe, execution compile-java9. Before packaging, A resolves to target/classes, whose root has no module descriptor, and javac does not treat a directory as a multi-release jar.

With 3.16.0 this also breaks the site build: the recompile on dependency change (#1102) makes the compile fork of javadoc:aggregate rebuild B against A's target/classes (apache/maven-executor#52).

When the output directory of a reactor dependency contains META-INF/versions/<N>/module-info.class and N is not above the execution's release, the plugin could place META-INF/versions/<N> on the module path, so the directory resolves as it would from the packaged jar.

Dominant language
Java
Stars
263
Forks
195
Avg merge
1d 4h
Merged PRs (30d)
16

Getting set up

  • No Dockerfile or Docker Compose file
  • Has a pull request template
  • No contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from apache/maven-compiler-plugin

All issues in apache/maven-compiler-plugin

Similar issues

More Java issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.