maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Scholte (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (MCOMPILER-309) testCompile fails in 3.7.0 against Java 9 module
Date Fri, 29 Sep 2017 11:31:17 GMT

    [ https://issues.apache.org/jira/browse/MCOMPILER-309?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16185718#comment-16185718
] 

Robert Scholte commented on MCOMPILER-309:
------------------------------------------

First try to upgrade asm by adding the following dependency to the maven-compiler-plugin:
{code:xml}
<dependency>
    <groupId>org.ow2.asm</groupId>
    <artifactId>asm</artifactId>
    <version>6.0</version>
</dependency>
{code}

If this doesn't work, it is probably better to get the module-info.class and to send it to
[ASM|http://asm.ow2.org/]
The reason why it probably works with 3.6.2 is because is falls back to QDox, which means
the sourcecode is parsed again.
This is actually quite tricky, because there can be multiple source directories, but only
one output directory. In the end the module-info.class is used, so better make it work with
the class file.


> testCompile fails in 3.7.0 against Java 9 module 
> -------------------------------------------------
>
>                 Key: MCOMPILER-309
>                 URL: https://issues.apache.org/jira/browse/MCOMPILER-309
>             Project: Maven Compiler Plugin
>          Issue Type: Bug
>    Affects Versions: 3.7.0
>         Environment: Mac OS X, Maven 3.5.0, Java 9+181 
>            Reporter: Aleksandar Seovic
>         Attachments: module-info.java
>
>
> When compiling Java 9 module, I get the following exception:
> {code}
> ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:testCompile
(default-testCompile) on project oracle.coherence.grpc.server: Execution default-testCompile
of goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:testCompile failed: 29 ->
[Help 1]
> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:testCompile
(default-testCompile) on project oracle.coherence.grpc.server: Execution default-testCompile
of goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:testCompile failed: 29
>         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.buildProject(LifecycleModuleBuilder.java:117)
>         at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
>         at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.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 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>         at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.base/java.lang.reflect.Method.invoke(Method.java:564)
>         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.7.0:testCompile failed: 29
>         at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:145)
>         at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
>         ... 20 more
> Caused by: java.lang.ArrayIndexOutOfBoundsException: 29
>         at org.objectweb.asm.ClassReader.readUTF8(Unknown Source)
>         at org.objectweb.asm.ClassReader.a(Unknown Source)
>         at org.objectweb.asm.ClassReader.readModule(Unknown Source)
>         at org.objectweb.asm.ClassReader.a(Unknown Source)
>         at org.objectweb.asm.ClassReader.accept(Unknown Source)
>         at org.objectweb.asm.ClassReader.accept(Unknown Source)
>         at org.codehaus.plexus.languages.java.jpms.AsmModuleInfoParser.parse(AsmModuleInfoParser.java:81)
>         at org.codehaus.plexus.languages.java.jpms.AsmModuleInfoParser.getModuleDescriptor(AsmModuleInfoParser.java:65)
>         at org.codehaus.plexus.languages.java.jpms.LocationManager.resolvePaths(LocationManager.java:113)
>         at org.apache.maven.plugin.compiler.TestCompilerMojo.preparePaths(TestCompilerMojo.java:281)
>         at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:762)
>         at org.apache.maven.plugin.compiler.TestCompilerMojo.execute(TestCompilerMojo.java:176)
>         at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
>         ... 21 more
> {code}
> Switching to 3.6.2 allowed me to compile, so it seems like this was a regression in 3.7.0.
> Based on the stack trace it looks like the failure is related to module info parsing,
so I'm attaching my module_info.java as well. 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message