But it doesn’t appear to be working for me. 

> [INFO] --- maven-compiler-plugin:3.8.0:compile (java9) @ pfl-basic ---
> [DEBUG] Configuring mojo 
> org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile from plugin 
> realm ClassRealm[plugin>org.apache.maven.plugins:maven-compiler-plugin:3.8.0, 
> parent: jdk.internal.loader.ClassLoaders$AppClassLoader@799f7e29]
> [DEBUG] Configuring mojo 
> 'org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile' with basic 
> configurator -->
> [DEBUG]   (f) basedir = 
> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic
> [DEBUG]   (f) buildDirectory = 
> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target
> [DEBUG]   (f) compilePath = 
> [/Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/classes]
> [DEBUG]   (f) compileSourceRoots = 
> [/Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/src/main/java9]
> [DEBUG]   (f) compilerId = javac
> [DEBUG]   (f) debug = true
> [DEBUG]   (f) encoding = UTF-8
> [DEBUG]   (f) failOnError = true
> [DEBUG]   (f) failOnWarning = false
> [DEBUG]   (f) forceJavacCompilerUse = false
> [DEBUG]   (f) fork = false
> [DEBUG]   (f) generatedSourcesDirectory = 
> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/generated-sources/annotations
> [DEBUG]   (f) jdkToolchain = {version=9}
> [DEBUG]   (f) mojoExecution = 
> org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile {execution: 
> java9}
> [DEBUG]   (f) multiReleaseOutput = true
> [DEBUG]   (f) optimize = false
> [DEBUG]   (f) outputDirectory = 
> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/classes
> [DEBUG]   (f) parameters = false
> [DEBUG]   (f) project = MavenProject: 
> org.glassfish.pfl:pfl-basic:4.0.1-SNAPSHOT @ 
> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/pom.xml
> [DEBUG]   (f) projectArtifact = org.glassfish.pfl:pfl-basic:jar:4.0.1-SNAPSHOT
> [DEBUG]   (s) release = 9
> [DEBUG]   (f) session = org.apache.maven.execution.MavenSession@7640a5b1
> [DEBUG]   (f) showDeprecation = false
> [DEBUG]   (f) showWarnings = false
> [DEBUG]   (f) skipMultiThreadWarning = false
> [DEBUG]   (f) source = 1.7
> [DEBUG]   (f) staleMillis = 0
> [DEBUG]   (s) target = 1.7
> [DEBUG]   (f) useIncrementalCompilation = true
> [DEBUG]   (f) verbose = false
> [DEBUG] -- end configuration --
> [DEBUG] Using compiler 'javac'.
> [DEBUG] Toolchain 
> JDK[/Library/Java/JavaVirtualMachines/1.6.0_41-b02-445.jdk/Contents/Home] 
> doesn't match required property: version
> [DEBUG] Toolchain 
> JDK[/Library/Java/JavaVirtualMachines/jdk1.7.0_65.jdk/Contents/Home] doesn't 
> match required property: version
> [DEBUG] Toolchain 
> JDK[/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home] doesn't 
> match required property: version
> [DEBUG] Toolchain 
> JDK[/Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home] doesn't 
> match required property: version
> [INFO] Toolchain in maven-compiler-plugin: 
> JDK[/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home]
> [DEBUG] Adding 
> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/generated-sources/annotations
>  to compile source roots:
>   /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/src/main/java
>   
> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/generated-sources/annotations
> [DEBUG] New compile source roots:
>   /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/src/main/java
>   
> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/generated-sources/annotations
> [DEBUG] CompilerReuseStrategy: reuseCreated
> [DEBUG] useIncrementalCompilation enabled
> [DEBUG] Stale source detected: 
> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/src/main/java9/org/glassfish/pfl/basic/reflection/Bridge.java
> [DEBUG] Stale source detected: 
> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/src/main/java9/org/glassfish/pfl/basic/reflection/BridgeBase9.java
> [INFO] Changes detected - recompiling the module!
> [DEBUG] Classpath:
> [DEBUG]  
> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/classes
> [DEBUG] Source roots:
> [DEBUG]  
> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/src/main/java9
> [DEBUG] Excutable: 
> [DEBUG]  /Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home/bin/javac
> [DEBUG] Command line options:
> [DEBUG] -d 
> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/classes/META-INF/versions/9
>  -classpath 
> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/classes: 
> -sourcepath 
> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/src/main/java9:/Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/generated-sources/annotations:
>  
> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/src/main/java9/org/glassfish/pfl/basic/reflection/Bridge.java
>  
> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/src/main/java9/org/glassfish/pfl/basic/reflection/BridgeBase9.java
>  -s 
> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/generated-sources/annotations
>  -g -nowarn --release 9 -encoding UTF-8
> [DEBUG] incrementalBuildHelper#beforeRebuildExecution
> [INFO] Compiling 2 source files to 
> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/classes/META-INF/versions/9
> [DEBUG] incrementalBuildHelper#afterRebuildExecution
> [WARNING] 
> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/src/main/java9/org/glassfish/pfl/basic/reflection/BridgeBase9.java:[23,18]
>  ReflectionFactory is internal proprietary API and may be removed in a future 
> release
> [WARNING] 
> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/src/main/java9/org/glassfish/pfl/basic/reflection/BridgeBase9.java:[26,18]
>  ReflectionFactory is internal proprietary API and may be removed in a future 
> release
> [WARNING] 
> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/src/main/java9/org/glassfish/pfl/basic/reflection/BridgeBase9.java:[30,28]
>  ReflectionFactory is internal proprietary API and may be removed in a future 
> release
> [INFO] 
> [INFO] --- maven-compiler-plugin:3.8.0:compile (java11) @ pfl-basic ---
> [DEBUG] Configuring mojo 
> org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile from plugin 
> realm ClassRealm[plugin>org.apache.maven.plugins:maven-compiler-plugin:3.8.0, 
> parent: jdk.internal.loader.ClassLoaders$AppClassLoader@799f7e29]
> [DEBUG] Configuring mojo 
> 'org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile' with basic 
> configurator -->
> [DEBUG]   (f) basedir = 
> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic
> [DEBUG]   (f) buildDirectory = 
> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target
> [DEBUG]   (f) compilePath = 
> [/Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/classes]
> [DEBUG]   (f) compileSourceRoots = 
> [/Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/src/main/java11]
> [DEBUG]   (f) compilerId = javac
> [DEBUG]   (f) debug = true
> [DEBUG]   (f) encoding = UTF-8
> [DEBUG]   (f) failOnError = true
> [DEBUG]   (f) failOnWarning = false
> [DEBUG]   (f) forceJavacCompilerUse = false
> [DEBUG]   (f) fork = false
> [DEBUG]   (f) generatedSourcesDirectory = 
> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/generated-sources/annotations
> [DEBUG]   (f) jdkToolchain = {version=11}
> [DEBUG]   (f) mojoExecution = 
> org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile {execution: 
> java11}
> [DEBUG]   (f) multiReleaseOutput = true
> [DEBUG]   (f) optimize = false
> [DEBUG]   (f) outputDirectory = 
> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/classes
> [DEBUG]   (f) parameters = false
> [DEBUG]   (f) project = MavenProject: 
> org.glassfish.pfl:pfl-basic:4.0.1-SNAPSHOT @ 
> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/pom.xml
> [DEBUG]   (f) projectArtifact = org.glassfish.pfl:pfl-basic:jar:4.0.1-SNAPSHOT
> [DEBUG]   (s) release = 11
> [DEBUG]   (f) session = org.apache.maven.execution.MavenSession@7640a5b1
> [DEBUG]   (f) showDeprecation = false
> [DEBUG]   (f) showWarnings = false
> [DEBUG]   (f) skipMultiThreadWarning = false
> [DEBUG]   (f) source = 1.7
> [DEBUG]   (f) staleMillis = 0
> [DEBUG]   (s) target = 1.7
> [DEBUG]   (f) useIncrementalCompilation = true
> [DEBUG]   (f) verbose = false
> [DEBUG] -- end configuration --
> [DEBUG] Using compiler 'javac'.
> [DEBUG] Toolchain 
> JDK[/Library/Java/JavaVirtualMachines/1.6.0_41-b02-445.jdk/Contents/Home] 
> doesn't match required property: version
> [DEBUG] Toolchain 
> JDK[/Library/Java/JavaVirtualMachines/jdk1.7.0_65.jdk/Contents/Home] doesn't 
> match required property: version
> [DEBUG] Toolchain 
> JDK[/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home] doesn't 
> match required property: version
> [DEBUG] Toolchain 
> JDK[/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home] doesn't match 
> required property: version
> [INFO] Toolchain in maven-compiler-plugin: 
> JDK[/Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home]
> [DEBUG] Adding 
> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/generated-sources/annotations
>  to compile source roots:
>   /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/src/main/java
>   
> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/generated-sources/annotations
> [DEBUG] New compile source roots:
>   /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/src/main/java
>   
> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/generated-sources/annotations
> [DEBUG] CompilerReuseStrategy: reuseCreated
> [DEBUG] useIncrementalCompilation enabled
> [DEBUG] Stale source detected: 
> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/src/main/java11/org/glassfish/pfl/basic/reflection/Bridge.java
> [INFO] Changes detected - recompiling the module!
> [DEBUG] Classpath:
> [DEBUG]  
> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/classes
> [DEBUG] Source roots:
> [DEBUG]  
> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/src/main/java11
> [DEBUG] Excutable: 
> [DEBUG]  
> /Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home/bin/javac

Note that the release 9 classes were not added to the classpath, here. Just the 
main output directory.

> [DEBUG] Command line options:
> [DEBUG] -d 
> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/classes/META-INF/versions/11
>  -classpath 
> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/classes: 
> -sourcepath 
> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/src/main/java11:/Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/generated-sources/annotations:
>  
> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/src/main/java11/org/glassfish/pfl/basic/reflection/Bridge.java
>  -s 
> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/generated-sources/annotations
>  -g -nowarn --release 11 -encoding UTF-8
> [DEBUG] incrementalBuildHelper#beforeRebuildExecution
> [INFO] Compiling 1 source file to 
> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/target/classes/META-INF/versions/11
> [DEBUG] incrementalBuildHelper#afterRebuildExecution
> [INFO] -------------------------------------------------------------
> [ERROR] COMPILATION ERROR : 
> [INFO] -------------------------------------------------------------
> [ERROR] 
> /Users/rgold/projects/eclipse-ee4j/orb-gmbal-pfl/pfl-basic/src/main/java11/org/glassfish/pfl/basic/reflection/Bridge.java:[51,34]
>  error: cannot find symbol
>   symbol: class BridgeBase9
> [INFO] 1 error


> On Feb 12, 2019, at 1:08 PM, Robert Scholte <rfscho...@apache.org> wrote:
> 
> Hi Russ,
> 
> There's no way to configure this, the plugin will do it for you[1]
> 
> thanks,
> Robert
> 
> [1] 
> https://github.com/apache/maven-compiler-plugin/blob/master/src/main/java/org/apache/maven/plugin/compiler/CompilerMojo.java#L328-L346
> 
> On Tue, 12 Feb 2019 18:56:52 +0100, Russell Gold <russell.g...@oracle.com> 
> wrote:
> 
>> Version 3.8.0 of the maven-compiler-plugin supports a multiReleaseOutput 
>> option which can compile classes directly to the appropriate 
>> META-INF/versions/{release} directory, which is very nice. What I don’t see, 
>> though, is how to tell it to use the previous release as its dependency. 
>> That is, given:
>> 
>> src
>>  |—— main
>>       |—— java
>>       |—— java9
>>       \—— java11
>> 
>> These directories will be compiled to:
>> 
>> target/classes, target/classes/META-INF/9 and target/classes/META-INF/11. 
>> But when I compile that last directory, I want to include 
>> target/classes/META-INF/9 in my class path, and I don’t see an obvious way 
>> to do it. It would be great if the plugin realized that this was necessary, 
>> but is there a way to configure it?
>> 
>> Thanks,
>> Russ
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
> For additional commands, e-mail: users-h...@maven.apache.org
> 

Reply via email to