Hi Robert, Plexus Languages looks very promising and really needed component. May I ask you something to clarify if I understand correctly it's purpose. The intention is Plexus Languages to contain abstractions that represent the code that is going to be build and not the JDK/JRE used to run Maven, right?
Regards, Plamen Totev On Sun, Aug 13, 2017 at 12:12 AM, Karl Heinz Marbaise <khmarba...@gmx.de> wrote: > Hi Robert, > > I've made a separate issue MCOMPILER-304 to introduce plexus-language > component. > > Kind regards > Karl Heinz Marbaise > > On 12/08/17 19:23, Robert Scholte wrote: > >> Hi, >> >> short answer: to be able to compile Java 9 projects, you must use the JRE >> from Maven (i.e. JAVA_HOME must point to JDK 9). >> >> The long story: asm-6.0_ALPHA is based on an old format of the >> module-info file. Only a few weeks ago asm-6.0_BETA was released. There was >> over a year between these 2 versions and I think is was relatively soon >> after ALPHA that the format was changed. >> The first solution I had implemented was using QDox during also during >> test to read the module-info.java, which is not correct. Test should be >> using the compiled version, i.e. module-info.class. >> So I implemented a reflection-based implementation and replaced it for >> QDox. This implementation uses reflection to access the module-descriptor. >> But this means that Maven must be running with Java 9. Toolchain doesn't >> help here. >> >> Right now I have the code ready to replace this. I also have started a >> new project called plexus-languages[1], which has plexus-java. This >> contains JRE/JDK related code which is used my multiple plugins / libraries. >> Most important: this code is NOT related to Maven! >> >> One of the most important features: based on a JavaModuleDescriptor and a >> set of jars + output directories and can make an accurate separation for >> modulepath and classpath. Any feedback is appreciated. >> >> thanks, >> Robert >> >> [1] https://github.com/codehaus-plexus/plexus-languages >> >> >> On Sat, 12 Aug 2017 17:44:03 +0200, Karl Heinz Marbaise < >> khmarba...@gmx.de> wrote: >> >> Hi, >>> >>> currently I'm facing the following issue with JDK9+181: (using >>> maven-compiler-plugin:3.6.2): >>> >>> [DEBUG] CompilerReuseStrategy: reuseCreated >>> [DEBUG] useIncrementalCompilation enabled >>> [ERROR] Failed to parse module-info: >>> [ERROR] With reflect: null >>> [ERROR] With asm: null >>> >>> [ERROR] Failed to execute goal org.apache.maven.plugins:maven >>> -compiler-plugin:3.6.2:testCompile (default-testCompile) on project >>> devday-workshop-service: Execution default-testCompile of goal >>> org.apache.maven.plugins:maven-compiler-plugin:3.6.2:testCompile >>> failed: Failed to parse module-info -> [Help 1] >>> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to >>> execute goal org.apache.maven.plugins:maven >>> -compiler-plugin:3.6.2:testCompile (default-testCompile) on project >>> devday-workshop-service: Execution default-testCompile of goal >>> org.apache.maven.plugins:maven-compiler-plugin:3.6.2:testCompile >>> failed: Failed to parse module-info >>> at >>> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:213) >>> >>> at >>> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:154) >>> >>> at >>> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:146) >>> >>> at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.b >>> uildProject(LifecycleModuleBuilder.java:117) >>> at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.b >>> uildProject(LifecycleModuleBuilder.java:81) >>> at org.apache.maven.lifecycle.internal.builder.singlethreaded.S >>> ingleThreadedBuilder.build(SingleThreadedBuilder.java:51) >>> at >>> org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) >>> >>> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:309) >>> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:194) >>> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:107) >>> at org.apache.maven.cli.MavenCli.execute(MavenCli.java:993) >>> at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:345) >>> at org.apache.maven.cli.MavenCli.main(MavenCli.java:191) >>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >>> at >>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >>> >>> at >>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>> >>> at java.lang.reflect.Method.invoke(Method.java:606) >>> at >>> org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) >>> >>> at >>> org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) >>> >>> at >>> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) >>> >>> at org.codehaus.plexus.classworlds.launcher.Launcher.main( >>> Launcher.java:356) >>> Caused by: org.apache.maven.plugin.PluginExecutionException: Execution >>> default-testCompile of goal org.apache.maven.plugins:maven >>> -compiler-plugin:3.6.2:testCompile failed: Failed to parse module-info >>> at org.apache.maven.plugin.DefaultBuildPluginManager.executeMoj >>> o(DefaultBuildPluginManager.java:145) >>> at >>> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) >>> >>> ... 20 more >>> Caused by: java.lang.RuntimeException: Failed to parse module-info >>> at >>> org.apache.maven.plugin.compiler.TestCompilerMojo.getModuleName(TestCompilerMojo.java:328) >>> >>> at >>> org.apache.maven.plugin.compiler.TestCompilerMojo.preparePaths(TestCompilerMojo.java:265) >>> >>> at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execut >>> e(AbstractCompilerMojo.java:751) >>> at >>> org.apache.maven.plugin.compiler.TestCompilerMojo.execute(TestCompilerMojo.java:172) >>> >>> at org.apache.maven.plugin.DefaultBuildPluginManager.executeMoj >>> o(DefaultBuildPluginManager.java:134) >>> ... 21 more >>> >>> Currently testing the project: https://github.com/khmarbaise/ >>> java9-modules-maven-junit-example which I have adopted just to see how >>> it works with Maven using modules etc. >>> >>> Working on the jdk9-fixing branch...which produces the above error ? >>> >>> Any Idea? >>> >>> > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org > For additional commands, e-mail: dev-h...@maven.apache.org > >