Self explained, it is a bug in Maven Shade Plugin, need to upgrade to 3.1.0
This is the patch https://github.com/apache/bookkeeper/pull/1144 I volunteer for releasing 4.6.2, this is a bad bug over Java 9 compliance for me (it is blocking some downstream projects in my company) Enrico 2018-02-12 16:10 GMT+01:00 Enrico Olivelli <eolive...@gmail.com>: > Hi guys, > did you ever see this error ? > It is very strange, I am investigating. > I am using 4.6.1 bookkeeper-server-shaded, I get this only in some unit > tests, not in "real" environments on Java 9 > > > java.lang.RuntimeException: java.lang.IncompatibleClassChangeError: > Inconsistent constant > pool data in classfile for class org/apache/bookkeeper/versioning/Version. > Method lambda$static$0(Lorg/apache/bookkeeper/versioning/Version; > )Lorg/apache/bookkeeper/versioning/Version$Occurred; at index 51 is > CONSTANT_MethodRef and should be CONSTANT_InterfaceMethodRef > at xxxxx.tasklog.TaskLoggerTest.test(TaskLoggerTest.java:75) > 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.junit.runners.model.FrameworkMethod$1.runReflectiveCall( > FrameworkMethod.java:47) > at org.junit.internal.runners.model.ReflectiveCallable.run( > ReflectiveCallable.java:12) > at org.junit.runners.model.FrameworkMethod.invokeExplosively( > FrameworkMethod.java:44) > at org.junit.internal.runners.statements.InvokeMethod. > evaluate(InvokeMethod.java:17) > at org.junit.rules.ExternalResource$1.evaluate( > ExternalResource.java:48) > at org.junit.rules.RunRules.evaluate(RunRules.java:20) > at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) > at org.junit.runners.BlockJUnit4ClassRunner.runChild( > BlockJUnit4ClassRunner.java:70) > at org.junit.runners.BlockJUnit4ClassRunner.runChild( > BlockJUnit4ClassRunner.java:50) > at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) > at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) > at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) > at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) > at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) > at org.junit.internal.runners.statements.RunBefores. > evaluate(RunBefores.java:26) > at org.junit.runners.ParentRunner.run(ParentRunner.java:309) > at org.apache.maven.surefire.junit4.JUnit4Provider.execute( > JUnit4Provider.java:369) > at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun( > JUnit4Provider.java:275) > at org.apache.maven.surefire.junit4.JUnit4Provider. > executeTestSet(JUnit4Provider.java:239) > at org.apache.maven.surefire.junit4.JUnit4Provider.invoke( > JUnit4Provider.java:160) > at org.apache.maven.surefire.booter.ForkedBooter. > invokeProviderInSameClassLoader(ForkedBooter.java:373) > at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess( > ForkedBooter.java:334) > at org.apache.maven.surefire.booter.ForkedBooter.execute( > ForkedBooter.java:119) > at org.apache.maven.surefire.booter.ForkedBooter.main( > ForkedBooter.java:407) > Caused by: java.lang.IncompatibleClassChangeError: Inconsistent constant > pool data in classfile for class org/apache/bookkeeper/versioning/Version. > Method lambda$static$0(Lorg/apache/bookkeeper/versioning/Version; > )Lorg/apache/bookkeeper/versioning/Version$Occurred; at index 51 is > CONSTANT_MethodRef and should be CONSTANT_InterfaceMethodRef > at org.apache.bookkeeper.versioning.Version.<clinit>(Version.java:47) > at org.apache.bookkeeper.discover.ZKRegistrationClient$ > WatchTask.<init>(ZKRegistrationClient.java:79) > at org.apache.bookkeeper.discover.ZKRegistrationClient. > watchWritableBookies(ZKRegistrationClient.java:287) > at org.apache.bookkeeper.client.BookieWatcher. > initialBlockingBookieRead(BookieWatcher.java:152) > at org.apache.bookkeeper.client.BookKeeper.<init>(BookKeeper.java:506) > at org.apache.bookkeeper.client.BookKeeper.<init>(BookKeeper.java:365) > at org.apache.bookkeeper.client.BookKeeperAdmin.format( > BookKeeperAdmin.java:1181) > at ...... > > Enrico >