Uploaded image for project: 'Kafka'
  1. Kafka
  2. KAFKA-14677

Dependency conversion error

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • 3.1.2
    • None
    • build
    • None
    • Maven 3.8.4, Java OpenJDK 11 & 17 & 19, Ubuntu Linux 22.04.01 LTS

    Description

      Compilation of projects using spring-kafka with Spring-Boot 2.7.7 fails if maven-enforcer-plugin is enabled with dependency conversion, as there are multiple mismatching dependency versions being dragged in, see below:

      Compilation failures are as follows (potentially incomplete):

      mvn clean install
      [...]
      [INFO] — maven-enforcer-plugin:3.0.0-M3:enforce (enforce) @ SpringKafkaDependencyIssue —
      [WARNING]
      Dependency convergence error for org.scala-lang:scala-library:2.13.6 paths to dependency are:
      +-org.example:SpringKafkaDependencyIssue:1.0-SNAPSHOT
      +-org.springframework.kafka:spring-kafka-test:2.8.11
      +-org.apache.kafka:kafka_2.13:3.1.2
      +-org.scala-lang:scala-library:2.13.6
      and
      +-org.example:SpringKafkaDependencyIssue:1.0-SNAPSHOT
      +-org.springframework.kafka:spring-kafka-test:2.8.11
      +-org.apache.kafka:kafka_2.13:3.1.2
      +-com.fasterxml.jackson.module:jackson-module-scala_2.13:2.13.4
      +-org.scala-lang:scala-library:2.13.6
      and
      +-org.example:SpringKafkaDependencyIssue:1.0-SNAPSHOT
      +-org.springframework.kafka:spring-kafka-test:2.8.11
      +-org.apache.kafka:kafka_2.13:3.1.2
      +-org.scala-lang.modules:scala-collection-compat_2.13:2.4.4
      +-org.scala-lang:scala-library:2.13.5
      and
      +-org.example:SpringKafkaDependencyIssue:1.0-SNAPSHOT
      +-org.springframework.kafka:spring-kafka-test:2.8.11
      +-org.apache.kafka:kafka_2.13:3.1.2
      +-org.scala-lang.modules:scala-java8-compat_2.13:1.0.0
      +-org.scala-lang:scala-library:2.13.5
      and
      +-org.example:SpringKafkaDependencyIssue:1.0-SNAPSHOT
      +-org.springframework.kafka:spring-kafka-test:2.8.11
      +-org.apache.kafka:kafka_2.13:3.1.2
      +-org.scala-lang:scala-reflect:2.13.6
      +-org.scala-lang:scala-library:2.13.6
      and
      +-org.example:SpringKafkaDependencyIssue:1.0-SNAPSHOT
      +-org.springframework.kafka:spring-kafka-test:2.8.11
      +-org.apache.kafka:kafka_2.13:3.1.2
      +-com.typesafe.scala-logging:scala-logging_2.13:3.9.3
      +-org.scala-lang:scala-library:2.13.4
      and
      +-org.example:SpringKafkaDependencyIssue:1.0-SNAPSHOT
      +-org.springframework.kafka:spring-kafka-test:2.8.11
      +-org.apache.kafka:kafka_2.13:3.1.2
      +-org.scala-lang:scala-library:2.13.6
      [WARNING]
      Dependency convergence error for org.scala-lang:scala-reflect:2.13.6 paths to dependency are:
      +-org.example:SpringKafkaDependencyIssue:1.0-SNAPSHOT
      +-org.springframework.kafka:spring-kafka-test:2.8.11
      +-org.apache.kafka:kafka_2.13:3.1.2
      +-org.scala-lang:scala-reflect:2.13.6
      and
      +-org.example:SpringKafkaDependencyIssue:1.0-SNAPSHOT
      +-org.springframework.kafka:spring-kafka-test:2.8.11
      +-org.apache.kafka:kafka_2.13:3.1.2
      +-com.typesafe.scala-logging:scala-logging_2.13:3.9.3
      +-org.scala-lang:scala-reflect:2.13.4
      and
      +-org.example:SpringKafkaDependencyIssue:1.0-SNAPSHOT
      +-org.springframework.kafka:spring-kafka-test:2.8.11
      +-org.apache.kafka:kafka_2.13:3.1.2
      +-org.scala-lang:scala-reflect:2.13.6
      [WARNING] Rule 0: org.apache.maven.plugins.enforcer.DependencyConvergence failed with message:
      Failed while enforcing releasability. See above detailed error message.
      [INFO] ------------------------------------------------------------------------
      [INFO] BUILD FAILURE
      [INFO] ------------------------------------------------------------------------
      [INFO] Total time: 1.170 s
      [INFO] Finished at: 2023-01-30T13:21:27+01:00
      [INFO] ------------------------------------------------------------------------
      [ERROR] Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M3:enforce (enforce) on project SpringKafkaDependencyIssue: Some Enforcer rules have failed. Look above for specific messages explaining why the rule failed. -> [Help 1]
      [...] 

      and, excerpt from another project:

      [...]
      Dependency convergence error for org.apache.kafka:kafka-metadata:3.1.2 paths to dependency are:
      +-org.example:SpringKafkaDependencyIssue:4.39.3-SNAPSHOT
        +-org.springframework.kafka:spring-kafka-test:2.8.11
          +-org.apache.kafka:kafka-metadata:3.1.2
      and
      +-org.example:SpringKafkaDependencyIssue:4.39.3-SNAPSHOT
        +-org.springframework.kafka:spring-kafka-test:2.8.11
          +-org.apache.kafka:kafka-metadata:3.1.2
            +-org.apache.kafka:kafka-metadata:2.8.2
      and
      +-org.example:SpringKafkaDependencyIssue:4.39.3-SNAPSHOT
        +-org.springframework.kafka:spring-kafka-test:2.8.11
          +-org.apache.kafka:kafka_2.13:3.1.2
            +-org.apache.kafka:kafka-metadata:3.1.2
      and
      +-org.example:SpringKafkaDependencyIssue:4.39.3-SNAPSHOT
        +-org.springframework.kafka:spring-kafka-test:2.8.11
          +-org.apache.kafka:kafka_2.13:3.1.2
            +-org.apache.kafka:kafka-metadata:3.1.2
      [...] 

       

      Reproducer maven pom.xml can be found in attachment or at https://gist.github.com/DaHoC/67daf9a7cb90e8626dbe6a144e93fa16.

      To reproduce, copy this linked pom.xml file to a local folder and run "mvn clean install" from that folder.

      Tested with maven 3.8.4 and Java OpenJDK 11, 17, 19 on Ubuntu Linux 22.04.01 LTS.

      Expectation is that only one version of respective specific dependencies is referenced by spring-kafka projects so that compilation of projects using spring-kafka with maven-enforcer-plugin and enabled dependency conversion succeeds.

      (Note: First posted this issue at Spring-Boot at https://github.com/spring-projects/spring-kafka/issues/2561 which directed me to this board)

      Attachments

        1. pom.xml
          2 kB
          Jan Hendriks

        Activity

          People

            Unassigned Unassigned
            dahoc Jan Hendriks
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: