Unable to Build maven project after upgrading to java11

72 Views Asked by At

We are using a maven project that has the below dependencies

            <dependency>
                <groupId>net.tascalate.javaflow</groupId>
                <artifactId>net.tascalate.javaflow.api</artifactId>
                <version>2.7.5</version>
            </dependency>
            <dependency>
                <groupId>net.tascalate.javaflow</groupId>
                <artifactId>net.tascalate.javaflow.extras</artifactId>
                <version>2.4.3</version>
            </dependency>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.8.1</version>
                    <configuration>
                        <source>11</source>
                        <target>11</target>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>net.tascalate.javaflow</groupId>
                    <artifactId>net.tascalate.javaflow.tools.maven</artifactId>
                    <version>2.7.5</version>
                    <executions>
                        <execution>
                            <id>javaflow-enhance-main-classes</id>
                            <phase>process-classes</phase>
                            <goals>
                                <goal>javaflow-enhance</goal>
                            </goals>
                        </execution>
    
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>3.3.0</version>
                </plugin>
                <plugin>
                    <groupId>org.eclipse.m2e</groupId>
                    <artifactId>lifecycle-mapping</artifactId>
                </plugin>
            </plugins>
        </build>

We are using net.tascalate.javaflow maven plugin to enhance byte code, till jdk8 it is working fine and the build is successful. Once we have upgraded the compiler to java 11 version we are getting the below error when running the maven install.

This is the error that was thrown when trying to install the maven project

    [ERROR] net.tascalate.asmx.tree.analysis.AnalyzerException: Error at instruction 238: null
    java.lang.RuntimeException: net.tascalate.asmx.tree.analysis.AnalyzerException: Error at instruction 238: null
        at org.apache.commons.javaflow.providers.core.ContinuableMethodNode.visitEnd (ContinuableMethodNode.java:163)
        at net.tascalate.asmx.ClassReader.readMethod (ClassReader.java:1518)
        at net.tascalate.asmx.ClassReader.accept (ClassReader.java:744)
        at net.tascalate.asmx.ClassReader.accept (ClassReader.java:424)
        at org.apache.commons.javaflow.providers.core.ContinuableClassTransformer.transform (ContinuableClassTransformer.java:64)
        at org.apache.commons.javaflow.tools.jar.RewritingUtils$2.transform (RewritingUtils.java:230)
        at org.apache.commons.javaflow.spi.AbstractResourceTransformer.transform (AbstractResourceTransformer.java:25)
        at org.apache.commons.javaflow.tools.jar.RewritingUtils.rewriteClassFile (RewritingUtils.java:73)
        at org.apache.commons.javaflow.tools.maven.ContinuableClassesInstrumentationMojo.transformFiles (ContinuableClassesInstrumentationMojo.java:149)
        at org.apache.commons.javaflow.tools.maven.ContinuableClassesInstrumentationMojo.execute (ContinuableClassesInstrumentationMojo.java:109)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:126)
        at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:328)
        at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
        at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
        at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
        at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73)
        at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118)
        at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
        at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
        at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
        at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
        at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
        at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
        at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
        at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
        at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke (Method.java:566)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:283)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:226)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:407)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:348)
    Caused by: net.tascalate.asmx.tree.analysis.AnalyzerException: Error at instruction 238: null
        at net.tascalate.asmx.tree.analysis.Analyzer.analyze (Analyzer.java:273)
        at org.apache.commons.javaflow.providers.core.ContinuableMethodNode.visitEnd (ContinuableMethodNode.java:159)
        at net.tascalate.asmx.ClassReader.readMethod (ClassReader.java:1518)
        at net.tascalate.asmx.ClassReader.accept (ClassReader.java:744)
        at net.tascalate.asmx.ClassReader.accept (ClassReader.java:424)
        at org.apache.commons.javaflow.providers.core.ContinuableClassTransformer.transform (ContinuableClassTransformer.java:64)
        at org.apache.commons.javaflow.tools.jar.RewritingUtils$2.transform (RewritingUtils.java:230)
        at org.apache.commons.javaflow.spi.AbstractResourceTransformer.transform (AbstractResourceTransformer.java:25)
        at org.apache.commons.javaflow.tools.jar.RewritingUtils.rewriteClassFile (RewritingUtils.java:73)
        at org.apache.commons.javaflow.tools.maven.ContinuableClassesInstrumentationMojo.transformFiles (ContinuableClassesInstrumentationMojo.java:149)
        at org.apache.commons.javaflow.tools.maven.ContinuableClassesInstrumentationMojo.execute (ContinuableClassesInstrumentationMojo.java:109)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:126)
        at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:328)
        at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
        at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
        at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
        at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73)
        at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118)
        at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
        at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
        at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
        at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
        at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
        at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
        at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
        at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
        at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke (Method.java:566)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:283)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:226)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:407)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:348)
    Caused by: java.lang.UnsupportedOperationException
        at org.apache.commons.javaflow.providers.core.FastClassVerifier.getClass (FastClassVerifier.java:109)
        at net.tascalate.asmx.tree.analysis.SimpleVerifier.isSubTypeOf (SimpleVerifier.java:214)
        at net.tascalate.asmx.tree.analysis.BasicVerifier.naryOperation (BasicVerifier.java:400)
        at net.tascalate.asmx.tree.analysis.BasicVerifier.naryOperation (BasicVerifier.java:44)
        at net.tascalate.asmx.tree.analysis.Frame.executeInvokeInsn (Frame.java:684)
        at net.tascalate.asmx.tree.analysis.Frame.execute (Frame.java:612)
        at org.apache.commons.javaflow.providers.core.MonitoringFrame.execute (MonitoringFrame.java:72)
        at net.tascalate.asmx.tree.analysis.Analyzer.analyze (Analyzer.java:165)
        at org.apache.commons.javaflow.providers.core.ContinuableMethodNode.visitEnd (ContinuableMethodNode.java:159)
        at net.tascalate.asmx.ClassReader.readMethod (ClassReader.java:1518)
        at net.tascalate.asmx.ClassReader.accept (ClassReader.java:744)
        at net.tascalate.asmx.ClassReader.accept (ClassReader.java:424)
        at org.apache.commons.javaflow.providers.core.ContinuableClassTransformer.transform (ContinuableClassTransformer.java:64)
        at org.apache.commons.javaflow.tools.jar.RewritingUtils$2.transform (RewritingUtils.java:230)
        at org.apache.commons.javaflow.spi.AbstractResourceTransformer.transform (AbstractResourceTransformer.java:25)
        at org.apache.commons.javaflow.tools.jar.RewritingUtils.rewriteClassFile (RewritingUtils.java:73)
        at org.apache.commons.javaflow.tools.maven.ContinuableClassesInstrumentationMojo.transformFiles (ContinuableClassesInstrumentationMojo.java:149)
        at org.apache.commons.javaflow.tools.maven.ContinuableClassesInstrumentationMojo.execute (ContinuableClassesInstrumentationMojo.java:109)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:126)
        at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:328)
        at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
        at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
        at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
        at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:73)
        at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:53)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:118)
        at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:261)
        at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:173)
        at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:101)
        at org.apache.maven.cli.MavenCli.execute (MavenCli.java:906)
        at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:283)
        at org.apache.maven.cli.MavenCli.main (MavenCli.java:206)
        at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
        at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
        at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke (Method.java:566)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:283)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:226)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:407)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:348)
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD FAILURE
    [INFO] ------------------------------------------------------------------------

I have tried reverting the versions of the artifacts net.tascalate.javaflow.api to 2.6.0, net.tascalate.javaflow.tools.maven to 2.4.1 but still there is same issue.

But when I changed the maven compiler level to jdk 8 the project is building successfully.

Any help would be appreciated.

0

There are 0 best solutions below