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)

Reply via email to