Linkage Enforcer rule breaks on "API incompatibility was encountered"
See original GitHub issueWhile trying to run the linkage-checker-enforcer-rules for Apache HBase I found a weird error:
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for Apache HBase Third-Party Libs 3.1.2-SNAPSHOT:
[INFO]
[INFO] Apache HBase Third-Party Libs ...................... SUCCESS [ 0.894 s]
[INFO] Apache HBase Patched and Relocated (Shaded) Protobuf SUCCESS [ 7.444 s]
[INFO] Apache HBase Relocated (Shaded) Netty Libs ......... FAILURE [ 6.005 s]
[INFO] Apache HBase Relocated (Shaded) GSON Libs .......... SKIPPED
[INFO] Apache HBase Relocated (Shaded) Third-party Miscellaneous Libs SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 14.444 s
[INFO] Finished at: 2020-01-08T15:39:17+01:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M3:enforce (enforce-linkage-checker) on project hbase-shaded-netty: Execution enforce-linkage-checker of goal org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M3:enforce failed: An API incompatibility was encountered while executing org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M3:enforce: java.lang.IllegalAccessError: tried to access method org.eclipse.aether.util.ChecksumUtils.toHexString([B)Ljava/lang/String; from class org.eclipse.aether.connector.basic.ChecksumCalculator$Checksum
[ERROR] -----------------------------------------------------
[ERROR] realm = plugin>org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M3
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/home/ismael/.m2/repository/org/apache/maven/plugins/maven-enforcer-plugin/3.0.0-M3/maven-enforcer-plugin-3.0.0-M3.jar
[ERROR] urls[1] = file:/home/ismael/.m2/repository/org/codehaus/mojo/extra-enforcer-rules/1.2/extra-enforcer-rules-1.2.jar
[ERROR] urls[2] = file:/home/ismael/.m2/repository/org/apache/maven/shared/maven-dependency-tree/2.2/maven-dependency-tree-2.2.jar
[ERROR] urls[3] = file:/home/ismael/.m2/repository/org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.jar
[ERROR] urls[4] = file:/home/ismael/.m2/repository/junit/junit/4.11/junit-4.11.jar
[ERROR] urls[5] = file:/home/ismael/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar
[ERROR] urls[6] = file:/home/ismael/.m2/repository/commons-codec/commons-codec/1.12/commons-codec-1.12.jar
[ERROR] urls[7] = file:/home/ismael/.m2/repository/org/apache/maven/shared/maven-common-artifact-filters/3.1.0/maven-common-artifact-filters-3.1.0.jar
[ERROR] urls[8] = file:/home/ismael/.m2/repository/org/apache/maven/shared/maven-shared-utils/3.1.0/maven-shared-utils-3.1.0.jar
[ERROR] urls[9] = file:/home/ismael/.m2/repository/commons-io/commons-io/2.5/commons-io-2.5.jar
[ERROR] urls[10] = file:/home/ismael/.m2/repository/com/ibm/icu/icu4j/56.1/icu4j-56.1.jar
[ERROR] urls[11] = file:/home/ismael/.m2/repository/com/google/cloud/tools/linkage-checker-enforcer-rules/1.1.0/linkage-checker-enforcer-rules-1.1.0.jar
[ERROR] urls[12] = file:/home/ismael/.m2/repository/com/google/cloud/tools/dependencies/1.1.0/dependencies-1.1.0.jar
[ERROR] urls[13] = file:/home/ismael/.m2/repository/org/apache/bcel/bcel/6.4.0/bcel-6.4.0.jar
[ERROR] urls[14] = file:/home/ismael/.m2/repository/org/apache/maven/resolver/maven-resolver-transport-http/1.4.1/maven-resolver-transport-http-1.4.1.jar
[ERROR] urls[15] = file:/home/ismael/.m2/repository/org/apache/httpcomponents/httpcore/4.4.10/httpcore-4.4.10.jar
[ERROR] urls[16] = file:/home/ismael/.m2/repository/org/apache/maven/resolver/maven-resolver-transport-file/1.4.1/maven-resolver-transport-file-1.4.1.jar
[ERROR] urls[17] = file:/home/ismael/.m2/repository/org/apache/maven/resolver/maven-resolver-connector-basic/1.4.1/maven-resolver-connector-basic-1.4.1.jar
[ERROR] urls[18] = file:/home/ismael/.m2/repository/org/apache/httpcomponents/httpclient/4.5.6/httpclient-4.5.6.jar
[ERROR] urls[19] = file:/home/ismael/.m2/repository/commons-logging/commons-logging/1.2/commons-logging-1.2.jar
[ERROR] urls[20] = file:/home/ismael/.m2/repository/commons-cli/commons-cli/1.4/commons-cli-1.4.jar
[ERROR] urls[21] = file:/home/ismael/.m2/repository/com/google/guava/guava/28.0-jre/guava-28.0-jre.jar
[ERROR] urls[22] = file:/home/ismael/.m2/repository/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar
[ERROR] urls[23] = file:/home/ismael/.m2/repository/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
[ERROR] urls[24] = file:/home/ismael/.m2/repository/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar
[ERROR] urls[25] = file:/home/ismael/.m2/repository/org/checkerframework/checker-qual/2.8.1/checker-qual-2.8.1.jar
[ERROR] urls[26] = file:/home/ismael/.m2/repository/com/google/errorprone/error_prone_annotations/2.3.2/error_prone_annotations-2.3.2.jar
[ERROR] urls[27] = file:/home/ismael/.m2/repository/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar
[ERROR] urls[28] = file:/home/ismael/.m2/repository/org/codehaus/mojo/animal-sniffer-annotations/1.17/animal-sniffer-annotations-1.17.jar
[ERROR] urls[29] = file:/home/ismael/.m2/repository/org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar
[ERROR] urls[30] = file:/home/ismael/.m2/repository/org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar
[ERROR] urls[31] = file:/home/ismael/.m2/repository/org/sonatype/aether/aether-util/1.7/aether-util-1.7.jar
[ERROR] urls[32] = file:/home/ismael/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar
[ERROR] urls[33] = file:/home/ismael/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.7.1/plexus-component-annotations-1.7.1.jar
[ERROR] urls[34] = file:/home/ismael/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar
[ERROR] urls[35] = file:/home/ismael/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
[ERROR] urls[36] = file:/home/ismael/.m2/repository/org/codehaus/plexus/plexus-utils/3.3.0/plexus-utils-3.3.0.jar
[ERROR] urls[37] = file:/home/ismael/.m2/repository/org/apache/maven/enforcer/enforcer-api/3.0.0-M3/enforcer-api-3.0.0-M3.jar
[ERROR] urls[38] = file:/home/ismael/.m2/repository/org/apache/maven/enforcer/enforcer-rules/3.0.0-M3/enforcer-rules-3.0.0-M3.jar
[ERROR] urls[39] = file:/home/ismael/.m2/repository/org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1.jar
[ERROR] urls[40] = file:/home/ismael/.m2/repository/org/beanshell/bsh/2.0b4/bsh-2.0b4.jar
[ERROR] urls[41] = file:/home/ismael/.m2/repository/org/apache/maven/resolver/maven-resolver-util/1.4.1/maven-resolver-util-1.4.1.jar
[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import from realm ClassRealm[maven.api, parent: null]]
[ERROR]
[ERROR] -----------------------------------------------------
[ERROR]
[ERROR] -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M3:enforce (enforce-linkage-checker) on project hbase-shaded-netty: Execution enforce-linkage-checker of goal org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M3:enforce failed: An API incompatibility was encountered while executing org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M3:enforce: java.lang.IllegalAccessError: tried to access method org.eclipse.aether.util.ChecksumUtils.toHexString([B)Ljava/lang/String; from class org.eclipse.aether.connector.basic.ChecksumCalculator$Checksum
-----------------------------------------------------
realm = plugin>org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M3
strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
urls[0] = file:/home/ismael/.m2/repository/org/apache/maven/plugins/maven-enforcer-plugin/3.0.0-M3/maven-enforcer-plugin-3.0.0-M3.jar
urls[1] = file:/home/ismael/.m2/repository/org/codehaus/mojo/extra-enforcer-rules/1.2/extra-enforcer-rules-1.2.jar
urls[2] = file:/home/ismael/.m2/repository/org/apache/maven/shared/maven-dependency-tree/2.2/maven-dependency-tree-2.2.jar
urls[3] = file:/home/ismael/.m2/repository/org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.jar
urls[4] = file:/home/ismael/.m2/repository/junit/junit/4.11/junit-4.11.jar
urls[5] = file:/home/ismael/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar
urls[6] = file:/home/ismael/.m2/repository/commons-codec/commons-codec/1.12/commons-codec-1.12.jar
urls[7] = file:/home/ismael/.m2/repository/org/apache/maven/shared/maven-common-artifact-filters/3.1.0/maven-common-artifact-filters-3.1.0.jar
urls[8] = file:/home/ismael/.m2/repository/org/apache/maven/shared/maven-shared-utils/3.1.0/maven-shared-utils-3.1.0.jar
urls[9] = file:/home/ismael/.m2/repository/commons-io/commons-io/2.5/commons-io-2.5.jar
urls[10] = file:/home/ismael/.m2/repository/com/ibm/icu/icu4j/56.1/icu4j-56.1.jar
urls[11] = file:/home/ismael/.m2/repository/com/google/cloud/tools/linkage-checker-enforcer-rules/1.1.0/linkage-checker-enforcer-rules-1.1.0.jar
urls[12] = file:/home/ismael/.m2/repository/com/google/cloud/tools/dependencies/1.1.0/dependencies-1.1.0.jar
urls[13] = file:/home/ismael/.m2/repository/org/apache/bcel/bcel/6.4.0/bcel-6.4.0.jar
urls[14] = file:/home/ismael/.m2/repository/org/apache/maven/resolver/maven-resolver-transport-http/1.4.1/maven-resolver-transport-http-1.4.1.jar
urls[15] = file:/home/ismael/.m2/repository/org/apache/httpcomponents/httpcore/4.4.10/httpcore-4.4.10.jar
urls[16] = file:/home/ismael/.m2/repository/org/apache/maven/resolver/maven-resolver-transport-file/1.4.1/maven-resolver-transport-file-1.4.1.jar
urls[17] = file:/home/ismael/.m2/repository/org/apache/maven/resolver/maven-resolver-connector-basic/1.4.1/maven-resolver-connector-basic-1.4.1.jar
urls[18] = file:/home/ismael/.m2/repository/org/apache/httpcomponents/httpclient/4.5.6/httpclient-4.5.6.jar
urls[19] = file:/home/ismael/.m2/repository/commons-logging/commons-logging/1.2/commons-logging-1.2.jar
urls[20] = file:/home/ismael/.m2/repository/commons-cli/commons-cli/1.4/commons-cli-1.4.jar
urls[21] = file:/home/ismael/.m2/repository/com/google/guava/guava/28.0-jre/guava-28.0-jre.jar
urls[22] = file:/home/ismael/.m2/repository/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar
urls[23] = file:/home/ismael/.m2/repository/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
urls[24] = file:/home/ismael/.m2/repository/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar
urls[25] = file:/home/ismael/.m2/repository/org/checkerframework/checker-qual/2.8.1/checker-qual-2.8.1.jar
urls[26] = file:/home/ismael/.m2/repository/com/google/errorprone/error_prone_annotations/2.3.2/error_prone_annotations-2.3.2.jar
urls[27] = file:/home/ismael/.m2/repository/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar
urls[28] = file:/home/ismael/.m2/repository/org/codehaus/mojo/animal-sniffer-annotations/1.17/animal-sniffer-annotations-1.17.jar
urls[29] = file:/home/ismael/.m2/repository/org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar
urls[30] = file:/home/ismael/.m2/repository/org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar
urls[31] = file:/home/ismael/.m2/repository/org/sonatype/aether/aether-util/1.7/aether-util-1.7.jar
urls[32] = file:/home/ismael/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar
urls[33] = file:/home/ismael/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.7.1/plexus-component-annotations-1.7.1.jar
urls[34] = file:/home/ismael/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar
urls[35] = file:/home/ismael/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
urls[36] = file:/home/ismael/.m2/repository/org/codehaus/plexus/plexus-utils/3.3.0/plexus-utils-3.3.0.jar
urls[37] = file:/home/ismael/.m2/repository/org/apache/maven/enforcer/enforcer-api/3.0.0-M3/enforcer-api-3.0.0-M3.jar
urls[38] = file:/home/ismael/.m2/repository/org/apache/maven/enforcer/enforcer-rules/3.0.0-M3/enforcer-rules-3.0.0-M3.jar
urls[39] = file:/home/ismael/.m2/repository/org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1.jar
urls[40] = file:/home/ismael/.m2/repository/org/beanshell/bsh/2.0b4/bsh-2.0b4.jar
urls[41] = file:/home/ismael/.m2/repository/org/apache/maven/resolver/maven-resolver-util/1.4.1/maven-resolver-util-1.4.1.jar
Number of foreign imports: 1
import: Entry[import from realm ClassRealm[maven.api, parent: null]]
-----------------------------------------------------
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
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:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
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:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution enforce-linkage-checker of goal org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M3:enforce failed: An API incompatibility was encountered while executing org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M3:enforce: java.lang.IllegalAccessError: tried to access method org.eclipse.aether.util.ChecksumUtils.toHexString([B)Ljava/lang/String; from class org.eclipse.aether.connector.basic.ChecksumCalculator$Checksum
-----------------------------------------------------
realm = plugin>org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M3
strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
urls[0] = file:/home/ismael/.m2/repository/org/apache/maven/plugins/maven-enforcer-plugin/3.0.0-M3/maven-enforcer-plugin-3.0.0-M3.jar
urls[1] = file:/home/ismael/.m2/repository/org/codehaus/mojo/extra-enforcer-rules/1.2/extra-enforcer-rules-1.2.jar
urls[2] = file:/home/ismael/.m2/repository/org/apache/maven/shared/maven-dependency-tree/2.2/maven-dependency-tree-2.2.jar
urls[3] = file:/home/ismael/.m2/repository/org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.jar
urls[4] = file:/home/ismael/.m2/repository/junit/junit/4.11/junit-4.11.jar
urls[5] = file:/home/ismael/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar
urls[6] = file:/home/ismael/.m2/repository/commons-codec/commons-codec/1.12/commons-codec-1.12.jar
urls[7] = file:/home/ismael/.m2/repository/org/apache/maven/shared/maven-common-artifact-filters/3.1.0/maven-common-artifact-filters-3.1.0.jar
urls[8] = file:/home/ismael/.m2/repository/org/apache/maven/shared/maven-shared-utils/3.1.0/maven-shared-utils-3.1.0.jar
urls[9] = file:/home/ismael/.m2/repository/commons-io/commons-io/2.5/commons-io-2.5.jar
urls[10] = file:/home/ismael/.m2/repository/com/ibm/icu/icu4j/56.1/icu4j-56.1.jar
urls[11] = file:/home/ismael/.m2/repository/com/google/cloud/tools/linkage-checker-enforcer-rules/1.1.0/linkage-checker-enforcer-rules-1.1.0.jar
urls[12] = file:/home/ismael/.m2/repository/com/google/cloud/tools/dependencies/1.1.0/dependencies-1.1.0.jar
urls[13] = file:/home/ismael/.m2/repository/org/apache/bcel/bcel/6.4.0/bcel-6.4.0.jar
urls[14] = file:/home/ismael/.m2/repository/org/apache/maven/resolver/maven-resolver-transport-http/1.4.1/maven-resolver-transport-http-1.4.1.jar
urls[15] = file:/home/ismael/.m2/repository/org/apache/httpcomponents/httpcore/4.4.10/httpcore-4.4.10.jar
urls[16] = file:/home/ismael/.m2/repository/org/apache/maven/resolver/maven-resolver-transport-file/1.4.1/maven-resolver-transport-file-1.4.1.jar
urls[17] = file:/home/ismael/.m2/repository/org/apache/maven/resolver/maven-resolver-connector-basic/1.4.1/maven-resolver-connector-basic-1.4.1.jar
urls[18] = file:/home/ismael/.m2/repository/org/apache/httpcomponents/httpclient/4.5.6/httpclient-4.5.6.jar
urls[19] = file:/home/ismael/.m2/repository/commons-logging/commons-logging/1.2/commons-logging-1.2.jar
urls[20] = file:/home/ismael/.m2/repository/commons-cli/commons-cli/1.4/commons-cli-1.4.jar
urls[21] = file:/home/ismael/.m2/repository/com/google/guava/guava/28.0-jre/guava-28.0-jre.jar
urls[22] = file:/home/ismael/.m2/repository/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar
urls[23] = file:/home/ismael/.m2/repository/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
urls[24] = file:/home/ismael/.m2/repository/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar
urls[25] = file:/home/ismael/.m2/repository/org/checkerframework/checker-qual/2.8.1/checker-qual-2.8.1.jar
urls[26] = file:/home/ismael/.m2/repository/com/google/errorprone/error_prone_annotations/2.3.2/error_prone_annotations-2.3.2.jar
urls[27] = file:/home/ismael/.m2/repository/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar
urls[28] = file:/home/ismael/.m2/repository/org/codehaus/mojo/animal-sniffer-annotations/1.17/animal-sniffer-annotations-1.17.jar
urls[29] = file:/home/ismael/.m2/repository/org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar
urls[30] = file:/home/ismael/.m2/repository/org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar
urls[31] = file:/home/ismael/.m2/repository/org/sonatype/aether/aether-util/1.7/aether-util-1.7.jar
urls[32] = file:/home/ismael/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar
urls[33] = file:/home/ismael/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.7.1/plexus-component-annotations-1.7.1.jar
urls[34] = file:/home/ismael/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar
urls[35] = file:/home/ismael/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
urls[36] = file:/home/ismael/.m2/repository/org/codehaus/plexus/plexus-utils/3.3.0/plexus-utils-3.3.0.jar
urls[37] = file:/home/ismael/.m2/repository/org/apache/maven/enforcer/enforcer-api/3.0.0-M3/enforcer-api-3.0.0-M3.jar
urls[38] = file:/home/ismael/.m2/repository/org/apache/maven/enforcer/enforcer-rules/3.0.0-M3/enforcer-rules-3.0.0-M3.jar
urls[39] = file:/home/ismael/.m2/repository/org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1.jar
urls[40] = file:/home/ismael/.m2/repository/org/beanshell/bsh/2.0b4/bsh-2.0b4.jar
urls[41] = file:/home/ismael/.m2/repository/org/apache/maven/resolver/maven-resolver-util/1.4.1/maven-resolver-util-1.4.1.jar
Number of foreign imports: 1
import: Entry[import from realm ClassRealm[maven.api, parent: null]]
-----------------------------------------------------
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:186)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
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:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
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:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: org.apache.maven.plugin.PluginContainerException: An API incompatibility was encountered while executing org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M3:enforce: java.lang.IllegalAccessError: tried to access method org.eclipse.aether.util.ChecksumUtils.toHexString([B)Ljava/lang/String; from class org.eclipse.aether.connector.basic.ChecksumCalculator$Checksum
-----------------------------------------------------
realm = plugin>org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M3
strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
urls[0] = file:/home/ismael/.m2/repository/org/apache/maven/plugins/maven-enforcer-plugin/3.0.0-M3/maven-enforcer-plugin-3.0.0-M3.jar
urls[1] = file:/home/ismael/.m2/repository/org/codehaus/mojo/extra-enforcer-rules/1.2/extra-enforcer-rules-1.2.jar
urls[2] = file:/home/ismael/.m2/repository/org/apache/maven/shared/maven-dependency-tree/2.2/maven-dependency-tree-2.2.jar
urls[3] = file:/home/ismael/.m2/repository/org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.jar
urls[4] = file:/home/ismael/.m2/repository/junit/junit/4.11/junit-4.11.jar
urls[5] = file:/home/ismael/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar
urls[6] = file:/home/ismael/.m2/repository/commons-codec/commons-codec/1.12/commons-codec-1.12.jar
urls[7] = file:/home/ismael/.m2/repository/org/apache/maven/shared/maven-common-artifact-filters/3.1.0/maven-common-artifact-filters-3.1.0.jar
urls[8] = file:/home/ismael/.m2/repository/org/apache/maven/shared/maven-shared-utils/3.1.0/maven-shared-utils-3.1.0.jar
urls[9] = file:/home/ismael/.m2/repository/commons-io/commons-io/2.5/commons-io-2.5.jar
urls[10] = file:/home/ismael/.m2/repository/com/ibm/icu/icu4j/56.1/icu4j-56.1.jar
urls[11] = file:/home/ismael/.m2/repository/com/google/cloud/tools/linkage-checker-enforcer-rules/1.1.0/linkage-checker-enforcer-rules-1.1.0.jar
urls[12] = file:/home/ismael/.m2/repository/com/google/cloud/tools/dependencies/1.1.0/dependencies-1.1.0.jar
urls[13] = file:/home/ismael/.m2/repository/org/apache/bcel/bcel/6.4.0/bcel-6.4.0.jar
urls[14] = file:/home/ismael/.m2/repository/org/apache/maven/resolver/maven-resolver-transport-http/1.4.1/maven-resolver-transport-http-1.4.1.jar
urls[15] = file:/home/ismael/.m2/repository/org/apache/httpcomponents/httpcore/4.4.10/httpcore-4.4.10.jar
urls[16] = file:/home/ismael/.m2/repository/org/apache/maven/resolver/maven-resolver-transport-file/1.4.1/maven-resolver-transport-file-1.4.1.jar
urls[17] = file:/home/ismael/.m2/repository/org/apache/maven/resolver/maven-resolver-connector-basic/1.4.1/maven-resolver-connector-basic-1.4.1.jar
urls[18] = file:/home/ismael/.m2/repository/org/apache/httpcomponents/httpclient/4.5.6/httpclient-4.5.6.jar
urls[19] = file:/home/ismael/.m2/repository/commons-logging/commons-logging/1.2/commons-logging-1.2.jar
urls[20] = file:/home/ismael/.m2/repository/commons-cli/commons-cli/1.4/commons-cli-1.4.jar
urls[21] = file:/home/ismael/.m2/repository/com/google/guava/guava/28.0-jre/guava-28.0-jre.jar
urls[22] = file:/home/ismael/.m2/repository/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar
urls[23] = file:/home/ismael/.m2/repository/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
urls[24] = file:/home/ismael/.m2/repository/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar
urls[25] = file:/home/ismael/.m2/repository/org/checkerframework/checker-qual/2.8.1/checker-qual-2.8.1.jar
urls[26] = file:/home/ismael/.m2/repository/com/google/errorprone/error_prone_annotations/2.3.2/error_prone_annotations-2.3.2.jar
urls[27] = file:/home/ismael/.m2/repository/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar
urls[28] = file:/home/ismael/.m2/repository/org/codehaus/mojo/animal-sniffer-annotations/1.17/animal-sniffer-annotations-1.17.jar
urls[29] = file:/home/ismael/.m2/repository/org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar
urls[30] = file:/home/ismael/.m2/repository/org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar
urls[31] = file:/home/ismael/.m2/repository/org/sonatype/aether/aether-util/1.7/aether-util-1.7.jar
urls[32] = file:/home/ismael/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar
urls[33] = file:/home/ismael/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.7.1/plexus-component-annotations-1.7.1.jar
urls[34] = file:/home/ismael/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar
urls[35] = file:/home/ismael/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
urls[36] = file:/home/ismael/.m2/repository/org/codehaus/plexus/plexus-utils/3.3.0/plexus-utils-3.3.0.jar
urls[37] = file:/home/ismael/.m2/repository/org/apache/maven/enforcer/enforcer-api/3.0.0-M3/enforcer-api-3.0.0-M3.jar
urls[38] = file:/home/ismael/.m2/repository/org/apache/maven/enforcer/enforcer-rules/3.0.0-M3/enforcer-rules-3.0.0-M3.jar
urls[39] = file:/home/ismael/.m2/repository/org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1.jar
urls[40] = file:/home/ismael/.m2/repository/org/beanshell/bsh/2.0b4/bsh-2.0b4.jar
urls[41] = file:/home/ismael/.m2/repository/org/apache/maven/resolver/maven-resolver-util/1.4.1/maven-resolver-util-1.4.1.jar
Number of foreign imports: 1
import: Entry[import from realm ClassRealm[maven.api, parent: null]]
-----------------------------------------------------
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:184)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
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:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
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:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: java.lang.IllegalAccessError: tried to access method org.eclipse.aether.util.ChecksumUtils.toHexString([B)Ljava/lang/String; from class org.eclipse.aether.connector.basic.ChecksumCalculator$Checksum
at org.eclipse.aether.connector.basic.ChecksumCalculator$Checksum.get (ChecksumCalculator.java:100)
at org.eclipse.aether.connector.basic.ChecksumCalculator.get (ChecksumCalculator.java:213)
at org.eclipse.aether.connector.basic.TransferTransportListener.getChecksums (TransferTransportListener.java:134)
at org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.runTask (BasicRepositoryConnector.java:460)
at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run (BasicRepositoryConnector.java:364)
at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run (RunnableErrorForwarder.java:67)
at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute (BasicRepositoryConnector.java:644)
at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get (BasicRepositoryConnector.java:262)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads (DefaultArtifactResolver.java:499)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve (DefaultArtifactResolver.java:401)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts (DefaultArtifactResolver.java:229)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact (DefaultArtifactResolver.java:207)
at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom (DefaultArtifactDescriptorReader.java:240)
at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.readArtifactDescriptor (DefaultArtifactDescriptorReader.java:171)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.resolveCachedArtifactDescriptor (DefaultDependencyCollector.java:541)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.getArtifactDescriptorResult (DefaultDependencyCollector.java:524)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:412)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:365)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.process (DefaultDependencyCollector.java:352)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.doRecurse (DefaultDependencyCollector.java:509)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:461)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:365)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.process (DefaultDependencyCollector.java:352)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.doRecurse (DefaultDependencyCollector.java:509)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:461)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:365)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.process (DefaultDependencyCollector.java:352)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.doRecurse (DefaultDependencyCollector.java:509)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:461)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:365)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.process (DefaultDependencyCollector.java:352)
at org.eclipse.aether.internal.impl.collect.DefaultDependencyCollector.collectDependencies (DefaultDependencyCollector.java:254)
at org.eclipse.aether.internal.impl.DefaultRepositorySystem.collectDependencies (DefaultRepositorySystem.java:284)
at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve (DefaultProjectDependenciesResolver.java:169)
at com.google.cloud.tools.dependencies.enforcer.LinkageCheckerRule.findProjectClasspath (LinkageCheckerRule.java:261)
at com.google.cloud.tools.dependencies.enforcer.LinkageCheckerRule.execute (LinkageCheckerRule.java:169)
at org.apache.maven.plugins.enforcer.EnforceMojo.execute (EnforceMojo.java:205)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
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:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
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:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
[ERROR]
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginContainerException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn <args> -rf :hbase-shaded-netty
I am using Maven 3.6.1 and the recommended versions of the enforcer-rules and linkage rule. Current config: https://github.com/iemejia/hbase-thirdparty/blob/4bb72d454ef148544ab5798d770f587198607dfa/pom.xml#L237
You can reproduce by cloning this repo’s https://github.com/iemejia/hbase-thirdparty and running mvn clean verify
Issue Analytics
- State:
- Created 4 years ago
- Comments:5 (4 by maintainers)
Top Results From Across the Web
build failure for tinkerpop 3.4.0-rc2: API incompatibility?
I'm unable to build Tinkerpop 3.4.0-rc2 with mvn clean install. The error appears to be. An API incompatibility was encountered while executing org.apache.maven ......
Read more >[jira] [Closed] (MENFORCER-362) requireJavaVersion rule ...
Resolution: Invalid > requireJavaVersion rule breaks with Java 15 ... failed: An API > incompatibility was encountered while executing ...
Read more >"An API incompatibility was encountered while executing org ...
You are using Exchange Maven Facade v3 and getting the error from the subject. This article explains the possible cause and its solution....
Read more >Squash Java Linkage Bugs Before They Bite | Google Cloud
This incompatibility between libraries is called a linkage error because one ... The Linkage Checker Enforcer Rule is a new rule the Maven ......
Read more >API Change that breaks at Runtime - smartics
Last week I watched a video showing a talk by Kevin Bourrillion introducing Guava, a set of open source core libraries used internally...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Silly me, I forgot to check that the other dependency could be leaking the wrong class. Thanks a lot for the solution @suztomo. Closing the issue now since this is not an issue of this project. And btw. Thanks also for moving this up in MSHARED, awesome!
org.apache.maven.shared:maven-dependency-tree:3.0.1 (latest) still uses aether-util:0.9.0.M2 . I will file a PR on the repository.