[ 
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)

Reply via email to