You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Jan Hendriks (Jira)" <ji...@apache.org> on 2023/02/06 10:14:00 UTC

[jira] [Created] (KAFKA-14677) Dependency conversion error

Jan Hendriks created KAFKA-14677:
------------------------------------

             Summary: Dependency conversion error
                 Key: KAFKA-14677
                 URL: https://issues.apache.org/jira/browse/KAFKA-14677
             Project: Kafka
          Issue Type: Bug
          Components: build
    Affects Versions: 3.1.2
         Environment: Maven 3.8.4, Java OpenJDK 11 & 17 & 19, Ubuntu Linux 22.04.01 LTS
            Reporter: Jan Hendriks
         Attachments: pom.xml

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):
{code:java}
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]
[...] {code}
and, excerpt from another project:
{code:java}
[...]
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
[...] {code}
 

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)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)