slachiewicz opened a new issue, #1137:
URL: https://github.com/apache/maven-compiler-plugin/issues/1137

   ### 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.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to