Sibling multi-release module is not found on the module path before packaging
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
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
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from apache/maven-compiler-plugin
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 45/100
apache/maven-compiler-plugin#1148 · 2 comments ·
Maintainers usually reply within 1 day
-
3.x bug
Difficulty 4/5 3-5 days Newbie friendliness 45/100
apache/maven-compiler-plugin#1140 · 1 comment ·
Maintainers usually reply within 1 day
-
3.x enhancement
Difficulty 3/5 1-2 days Newbie friendliness 68/100
apache/maven-compiler-plugin#1138 ·
Maintainers usually reply within 1 day
-
3.x bug
Difficulty 3/5 1-2 days Newbie friendliness 55/100
apache/maven-compiler-plugin#1124 · 1 comment · 3 reactions ·
Maintainers usually reply within 1 day
-
build github_actions
Difficulty 4/5 3-5 days Newbie friendliness 48/100
apache/maven-compiler-plugin#1099 ·
Maintainers usually reply within 1 day
All issues in apache/maven-compiler-plugin
Similar issues
-
[Bug] Lock owned by another client (e.g. Text app) cannot be unlocked from the appPossibly taken @falkloewert claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
oracle/graalvm-reachability-metadata#11026 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
checkstyle/checkstyle#22050 · 1 comment ·
Maintainers usually reply within 1 day
-
enhancement Improvement
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
zowe/zowe-client-java-sdk#647 ·
-
RRX SAX: </rdf:RDF> inside rdf:parseType="Literal" ends the document ("Inconsistent parserMode:TOP")Open
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
apache/jena#4334 · 1 comment ·
Maintainers usually reply within 1 day