GoogleCloudPlatform / GoogleCloudPlatform/cloud-opensource-java

Maven Enforcer Rule itself is prone to dependency conflicts of aether library

Abierto
#1,776 4 comentarios 0 reacciones 0 asignados Ver en GitHub
bug p3
Lenguaje dominante
Java
Estrellas
163
Forks
80
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

I tried to apply the linkage checker enforcer rule to the project when troubleshooting https://github.com/googleapis/java-spanner-jdbc/pull/251#issuecomment-720702035, however the linkage checker failed:

```
[INFO] --- maven-enforcer-plugin:3.0.0-M3:enforce (enforce-linkage-checker) @ google-cloud-spanner-jdbc ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 27.293 s
[INFO] Finished at: 2020-11-03T11:00:01-05:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M3:enforce (enforce-linkage-checker) on project google-cloud-spanner-jdbc: 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:/Users/suztomo/.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:/Users/suztomo/.m2/repository/com/google/cloud/tools/linkage-checker-enforcer-rules/1.5.4/linkage-checker-enforcer-rules-1.5.4.jar
[ERROR] urls[2] = file:/Users/suztomo/.m2/repository/com/google/cloud/tools/dependencies/1.5.4/dependencies-1.5.4.jar
[ERROR] urls[3] = file:/Users/suztomo/.m2/repository/org/apache/bcel/bcel/6.5.0/bcel-6.5.0.jar
[ERROR] urls[4] = file:/Users/suztomo/.m2/repository/org/apache/maven/resolver/maven-resolver-transport-http/1.4.2/maven-resolver-transport-http-1.4.2.jar
[ERROR] urls[5] = file:/Users/suztomo/.m2/repository/org/apache/httpcomponents/httpcore/4.4.10/httpcore-4.4.10.jar
[ERROR] urls[6] = file:/Users/suztomo/.m2/repository/org/apache/maven/resolver/maven-resolver-transport-file/1.4.2/maven-resolver-transport-file-1.4.2.jar
[ERROR] urls[7] = file:/Users/suztomo/.m2/repository/org/apache/maven/resolver/maven-resolver-connector-basic/1.4.2/maven-resolver-connector-basic-1.4.2.jar
[ERROR] urls[8] = file:/Users/suztomo/.m2/repository/org/apache/httpcomponents/httpclient/4.5.12/httpclient-4.5.12.jar
[ERROR] urls[9] = file:/Users/suztomo/.m2/repository/commons-logging/commons-logging/1.2/commons-logging-1.2.jar
[ERROR] urls[10] = file:/Users/suztomo/.m2/repository/org/relaxng/jing/20181222/jing-20181222.jar
[ERROR] urls[11] = file:/Users/suztomo/.m2/repository/net/sf/saxon/Saxon-HE/9.6.0-4/Saxon-HE-9.6.0-4.jar
[ERROR] urls[12] = file:/Users/suztomo/.m2/repository/xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar
[ERROR] urls[13] = file:/Users/suztomo/.m2/repository/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar
[ERROR] urls[14] = file:/Users/suztomo/.m2/repository/isorelax/isorelax/20030108/isorelax-20030108.jar
[ERROR] urls[15] = file:/Users/suztomo/.m2/repository/commons-cli/commons-cli/1.4/commons-cli-1.4.jar
[ERROR] urls[16] = file:/Users/suztomo/.m2/repository/com/google/guava/guava/29.0-jre/guava-29.0-jre.jar
[ERROR] urls[17] = file:/Users/suztomo/.m2/repository/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar
[ERROR] urls[18] = file:/Users/suztomo/.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[19] = file:/Users/suztomo/.m2/repository/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar
[ERROR] urls[20] = file:/Users/suztomo/.m2/repository/org/checkerframework/checker-qual/2.11.1/checker-qual-2.11.1.jar
[ERROR] urls[21] = file:/Users/suztomo/.m2/repository/com/google/errorprone/error_prone_annotations/2.3.4/error_prone_annotations-2.3.4.jar
[ERROR] urls[22] = file:/Users/suztomo/.m2/repository/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar
[ERROR] urls[23] = file:/Users/suztomo/.m2/repository/org/codehaus/mojo/extra-enforcer-rules/1.3/extra-enforcer-rules-1.3.jar
[ERROR] urls[24] = file:/Users/suztomo/.m2/repository/org/apache/maven/shared/maven-dependency-tree/2.2/maven-dependency-tree-2.2.jar
[ERROR] urls[25] = file:/Users/suztomo/.m2/repository/org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.jar
[ERROR] urls[26] = file:/Users/suztomo/.m2/repository/junit/junit/4.11/junit-4.11.jar
[ERROR] urls[27] = file:/Users/suztomo/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar
[ERROR] urls[28] = file:/Users/suztomo/.m2/repository/commons-codec/commons-codec/1.12/commons-codec-1.12.jar
[ERROR] urls[29] = file:/Users/suztomo/.m2/repository/org/apache/maven/shared/maven-common-artifact-filters/3.1.0/maven-common-artifact-filters-3.1.0.jar
[ERROR] urls[30] = file:/Users/suztomo/.m2/repository/org/apache/maven/shared/maven-shared-utils/3.1.0/maven-shared-utils-3.1.0.jar
[ERROR] urls[31] = file:/Users/suztomo/.m2/repository/commons-io/commons-io/2.5/commons-io-2.5.jar
[ERROR] urls[32] = file:/Users/suztomo/.m2/repository/org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar
[ERROR] urls[33] = file:/Users/suztomo/.m2/repository/org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar
[ERROR] urls[34] = file:/Users/suztomo/.m2/repository/org/sonatype/aether/aether-util/1.7/aether-util-1.7.jar
[ERROR] urls[35] = file:/Users/suztomo/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar
[ERROR] urls[36] = file:/Users/suztomo/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.7.1/plexus-component-annotations-1.7.1.jar
[ERROR] urls[37] = file:/Users/suztomo/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar
[ERROR] urls[38] = file:/Users/suztomo/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
[ERROR] urls[39] = file:/Users/suztomo/.m2/repository/org/codehaus/plexus/plexus-utils/3.3.0/plexus-utils-3.3.0.jar
[ERROR] urls[40] = file:/Users/suztomo/.m2/repository/org/apache/maven/enforcer/enforcer-api/3.0.0-M3/enforcer-api-3.0.0-M3.jar
[ERROR] urls[41] = file:/Users/suztomo/.m2/repository/org/apache/maven/enforcer/enforcer-rules/3.0.0-M3/enforcer-rules-3.0.0-M3.jar
[ERROR] urls[42] = file:/Users/suztomo/.m2/repository/org/apache/commons/commons-lang3/3.8.1/commons-lang3-3.8.1.jar
[ERROR] urls[43] = file:/Users/suztomo/.m2/repository/org/beanshell/bsh/2.0b4/bsh-2.0b4.jar
[ERROR] urls[44] = file:/Users/suztomo/.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[project>com.google.cloud:google-cloud-spanner-jdbc:1.17.3-SNAPSHOT, parent: ClassRealm[maven.api, parent: null]]]
[ERROR]
[ERROR] -----------------------------------------------------
```

Probably the same cause as https://github.com/GoogleCloudPlatform/cloud-opensource-java/issues/1091, but as it happened twice, we should better to document or show message for such situation.

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.