Ошибка при модульном тестировании Spring Kafka: не удалось определить TestUtils.createBrokerConfig ()

Я использую spring-kafka и spring-kafka-test 2.1.5.RELEASE, и я запускаю пример модульного теста в документации spring-kafka, в частности этот: Код

В этой строке:

@ClassRule
public static KafkaEmbedded embeddedKafka = new KafkaEmbedded(1, true, TEMPLATE_TOPIC);

Я получаю такую ​​ошибку:

java.lang.ExceptionInInitializerError ... Caused by: java.lang.RuntimeException: Failed to determine TestUtils.createBrokerConfig() method

Я не понимаю, почему пример теста в официальной документации не работает, и я не могу найти ссылку на эту ошибку в Интернете. Буду признателен, если у кого-нибудь есть идеи, что может быть не так.

Это мой pom.xml на случай, если у меня возникла проблема с моими зависимостями: https://pastebin.com/nT8j5LQ5

Какие kafka-клиенты и scala jar-файлы вы используете? 2.1.5 совместим только с 1.0.x (1.0.1) или 1.1.0. Похоже, у вас есть клиент 1.1.0 и что-то еще для jar-файлов scala (kafka_211).

Gary Russell 04.05.2018 18:27

Хорошо, запустив "mvn dependency: tree", я вижу два jar-файла: org.apache.kafka: kafka-clients: jar: 1.1.0: компилироватьorg.apache.kafka: kafka-clients: jar: test: 1.0.1: test и для scala: org.scala-lang: библиотека-scala: jar: 2.11.12: тест

Jorge Bonafé 04.05.2018 18:28

А как насчет kafka_2.11 и kafka_2.11:test? Я не вижу в вашем pom переопределения до 1.1.0.

Gary Russell 04.05.2018 18:29

Я не знаю, как указать для этого другую версию

Jorge Bonafé 04.05.2018 18:32

Специально для этого есть приложение - ссылку см. В моем ответе.

Gary Russell 04.05.2018 18:34
1
5
1 043
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Чтобы использовать kafka-clients 1.1.x со Spring для Apache Kafka 2.1.x, см. Приложение A. Переопределение зависимостей для использования kafka-клиентов 1.1.x.

np; Я предполагаю, что confluent временно принесла более новую версию. Я улучшил сообщение об ошибке, чтобы помочь в будущем.

Gary Russell 04.05.2018 19:26

Другие вопросы по теме