Я использую 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
Хорошо, запустив "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: тест
А как насчет kafka_2.11 и kafka_2.11:test? Я не вижу в вашем pom переопределения до 1.1.0.
Я не знаю, как указать для этого другую версию
Специально для этого есть приложение - ссылку см. В моем ответе.
Чтобы использовать kafka-clients 1.1.x со Spring для Apache Kafka 2.1.x, см. Приложение A. Переопределение зависимостей для использования kafka-клиентов 1.1.x.
np; Я предполагаю, что confluent временно принесла более новую версию. Я улучшил сообщение об ошибке, чтобы помочь в будущем.
Какие kafka-клиенты и scala jar-файлы вы используете? 2.1.5 совместим только с 1.0.x (1.0.1) или 1.1.0. Похоже, у вас есть клиент 1.1.0 и что-то еще для jar-файлов scala (kafka_211).