[ https://issues.apache.org/jira/browse/CALCITE-2350?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16498881#comment-16498881 ]
Sergey Nuyanzin commented on CALCITE-2350: ------------------------------------------ the short answer is maven-shade-plugin.version also should be updated as 2.1 does not support java8 syntax Based on https://issues.apache.org/jira/browse/MSHADE-228 3.0.0+ should be used e.g. {code}mvn -Dguava.version=23.0 -DskipTests clean package -Dmaven-shade-plugin.version=3.1.1{code} or {code}mvn -Dguava.version=23.0 -DskipTests clean package -Dmaven-shade-plugin.version=3.0.0{code} will work ok the more detailed answer If make a run with -X option there could be seen the next trace {noformat}Caused by: org.apache.maven.plugin.MojoExecutionException: Error creating shaded jar: Error in ASM processing class com/google/common/cache/LocalCache$EntrySet.class at org.apache.maven.plugins.shade.mojo.ShadeMojo.execute (ShadeMojo.java:528) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:134) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208) 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:955) at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290) at org.apache.maven.cli.MavenCli.main (MavenCli.java:194) at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke (Method.java:498) 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.MojoExecutionException: Error in ASM processing class com/google/common/cache/LocalCache$EntrySet.class at org.apache.maven.plugins.shade.DefaultShader.addRemappedClass (DefaultShader.java:346) at org.apache.maven.plugins.shade.DefaultShader.shade (DefaultShader.java:164) at org.apache.maven.plugins.shade.mojo.ShadeMojo.execute (ShadeMojo.java:458) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:134) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208) 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:955) at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290) at org.apache.maven.cli.MavenCli.main (MavenCli.java:194) at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke (Method.java:498) 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: java.lang.ArrayIndexOutOfBoundsException: 52264 at org.objectweb.asm.ClassReader.readClass (Unknown Source) at org.objectweb.asm.ClassReader.accept (Unknown Source) at org.objectweb.asm.ClassReader.accept (Unknown Source) at org.apache.maven.plugins.shade.DefaultShader.addRemappedClass (DefaultShader.java:342) at org.apache.maven.plugins.shade.DefaultShader.shade (DefaultShader.java:164) at org.apache.maven.plugins.shade.mojo.ShadeMojo.execute (ShadeMojo.java:458) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:134) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208) 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:955) at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290) at org.apache.maven.cli.MavenCli.main (MavenCli.java:194) at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke (Method.java:498) 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){noformat} Based on experiments which show that with guava 20.0 it compiles ok and with 21 no there could be found a commit https://github.com/google/guava/commit/73e382fa877f80994817a136b0adcc4365ccd904#diff-fe898d98ea517870f437b629cdd91698R4835 where there were added java8 like syntax in a class from trace com/google/common/cache/LocalCache$EntrySet.java The problem is that since 21 guava started to require Java8. And in this commit {code}return LocalCache.this.removeIf((k, v) -> filter.test(Maps.immutableEntry(k, v)));{code} At the same time current shade version does not support method refs correctly https://issues.apache.org/jira/browse/MSHADE-228 > Cannot shade Avatica with Guava 21.0 or higher > ---------------------------------------------- > > Key: CALCITE-2350 > URL: https://issues.apache.org/jira/browse/CALCITE-2350 > Project: Calcite > Issue Type: Bug > Reporter: Julian Hyde > Assignee: Julian Hyde > Priority: Major > > When building Avatica with Guava version 23.0, I run into an error while > shading: > {noformat} > $ mvn -Dguava.version=23.0 -DskipTests clean package > [INFO] --- maven-shade-plugin:2.1:shade (default) @ avatica-standalone-server > --- > [INFO] Including org.apache.calcite.avatica:avatica-core:jar:1.12.0-SNAPSHOT > in the shaded jar. > [INFO] Including > org.apache.calcite.avatica:avatica-metrics:jar:1.12.0-SNAPSHOT in the shaded > jar. > [INFO] Including com.fasterxml.jackson.core:jackson-core:jar:2.9.4 in the > shaded jar. > [INFO] Including com.fasterxml.jackson.core:jackson-annotations:jar:2.9.4 in > the shaded jar. > [INFO] Including com.fasterxml.jackson.core:jackson-databind:jar:2.9.4 in the > shaded jar. > [INFO] Including com.google.protobuf:protobuf-java:jar:3.3.0 in the shaded > jar. > [INFO] Including org.apache.httpcomponents:httpclient:jar:4.5.2 in the shaded > jar. > [INFO] Including commons-logging:commons-logging:jar:1.2 in the shaded jar. > [INFO] Including commons-codec:commons-codec:jar:1.9 in the shaded jar. > [INFO] Including org.apache.httpcomponents:httpcore:jar:4.4.4 in the shaded > jar. > [INFO] Including > org.apache.calcite.avatica:avatica-server:jar:1.12.0-SNAPSHOT in the shaded > jar. > [INFO] Including javax.servlet:javax.servlet-api:jar:3.0.1 in the shaded jar. > [INFO] Including com.google.guava:guava:jar:23.0 in the shaded jar. > [INFO] Including com.google.code.findbugs:jsr305:jar:1.3.9 in the shaded jar. > [INFO] Including com.google.errorprone:error_prone_annotations:jar:2.0.18 in > the shaded jar. > [INFO] Including com.google.j2objc:j2objc-annotations:jar:1.1 in the shaded > jar. > [INFO] Including org.codehaus.mojo:animal-sniffer-annotations:jar:1.14 in the > shaded jar. > [INFO] Including org.eclipse.jetty:jetty-http:jar:9.2.19.v20160908 in the > shaded jar. > [INFO] Including org.eclipse.jetty:jetty-security:jar:9.2.19.v20160908 in the > shaded jar. > [INFO] Including org.eclipse.jetty:jetty-server:jar:9.2.19.v20160908 in the > shaded jar. > [INFO] Including org.eclipse.jetty:jetty-io:jar:9.2.19.v20160908 in the > shaded jar. > [INFO] Including org.eclipse.jetty:jetty-util:jar:9.2.19.v20160908 in the > shaded jar. > [INFO] Including com.beust:jcommander:jar:1.48 in the shaded jar. > [INFO] Including org.slf4j:slf4j-api:jar:1.7.13 in the shaded jar. > [INFO] Including org.slf4j:slf4j-log4j12:jar:1.7.13 in the shaded jar. > [INFO] Including log4j:log4j:jar:1.2.17 in the shaded jar. > [INFO] > ------------------------------------------------------------------------ > [INFO] Reactor Summary: > [INFO] > [INFO] Apache Calcite Avatica Project 1.12.0-SNAPSHOT ..... SUCCESS [ 2.028 s] > [INFO] Apache Calcite Avatica Metrics ..................... SUCCESS [ 1.900 s] > [INFO] Apache Calcite Avatica ............................. SUCCESS [ 16.995 > s] > [INFO] Apache Calcite Avatica Server ...................... SUCCESS [ 2.231 s] > [INFO] Apache Calcite Avatica Standalone Server ........... FAILURE [ 3.765 s] > [INFO] Apache Calcite Avatica Docker images ............... SKIPPED > [INFO] Apache Calcite Avatica Dropwizard Metrics 3 ........ SKIPPED > [INFO] Apache Calcite Avatica Noop Driver ................. SKIPPED > [INFO] Apache Calcite Avatica Compatibility Kit ........... SKIPPED > [INFO] Apache Calcite Avatica (Shaded) 1.12.0-SNAPSHOT .... SKIPPED > [INFO] > ------------------------------------------------------------------------ > [INFO] BUILD FAILURE > [INFO] > ------------------------------------------------------------------------ > [INFO] Total time: 27.391 s > [INFO] Finished at: 2018-06-01T13:55:54-07:00 > [INFO] > ------------------------------------------------------------------------ > [ERROR] Failed to execute goal > org.apache.maven.plugins:maven-shade-plugin:2.1:shade (default) on project > avatica-standalone-server: Error creating shaded jar: Error in ASM processing > class com/google/common/cache/LocalCache$EntrySet.class: 52264 -> [Help > 1]{noformat} > > The error occurs on all JDK versions, and Guava versions 21.0, 22.0 and 23.0. > Avatica builds fine on Guava version 14.0 through 20.0. -- This message was sent by Atlassian JIRA (v7.6.3#76005)