GoogleCloudPlatform / GoogleCloudPlatform/cloud-opensource-java

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

Ouverte
#1,776 4 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
bug p3
Langage dominant
Java
Étoiles
163
Forks
80
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

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.

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.