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)