gpt4 book ai didi

java - EmbeddedKafkaBroker 设置属性抛出 NoClassDefFoundError : kafka/zk/EmbeddedZookeeper

转载 作者:太空宇宙 更新时间:2023-11-04 09:36:49 25 4
gpt4 key购买 nike

当我们初始化EmbeddedKafkaBroker时:

EmbeddedKafkaBroker embeddedKafkaBroker = new EmbeddedKafkaBroker(1, true, 1, environment.getProperty("producer_topic"), environment.getProperty("consumer_topic"));
embeddedKafkaBroker.afterPropertiesSet();

第二行抛出:

method 'embeddedKafkaBroker' threw exception; nested exception is java.lang.NoClassDefFoundError: kafka/zk/EmbeddedZookeeper

编辑 - 添加了依赖项的 GAV 格式我们已经看到了许多有关依赖项不匹配的答案,因此我们检查了我们的答案。我们无法放入所有使用的 pom,因此以下是相关依赖项:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-test</artifactId>
<version>1.5.6.RELEASE</version>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot</artifactId>
</exclusion>
</exclusions>
</dependency>

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.1.3.RELEASE</version>
<scope>compile</scope>
</dependency>

<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka-test</artifactId>
<version>2.2.6.RELEASE</version>
</dependency>

<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
<version>2.2.0.RELEASE</version>
</dependency>

<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>2.2.0</version>
</dependency>

<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.11</artifactId>
<version>2.2.0</version>
<exclusions>
<exclusion>
<artifactId>kafka-clients</artifactId>
<groupId>org.apache.kafka</groupId>
</exclusion>
</exclusions>
</dependency>

<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-streams</artifactId>
<version>2.0.1</version>
</dependency>

有什么想法吗?

最佳答案

您不知何故缺少kafka_2.11-2.2.0-test.jar;它通常由 spring-kafka-test 传递地拉入。

<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.12</artifactId>
<version>2.2.0</version>
<classifier>test</classifier>
<scope>test</scope>
</dependency>

顺便说一句,建议 2.x 客户端使用 scala 2_12。

此外,您的 kafka-streams jar 必须与 kafka-clients 版本相同。

请参阅Spring for Apache Kafka reference manual appendix了解如何覆盖依赖项。

<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
<version>${spring.kafka.version}</version>
</dependency>

<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka-test</artifactId>
<version>${spring.kafka.version}</version>
<exclusions>
<exclusion>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.11</artifactId>
</exclusion>
</exclusions>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>2.2.0</version>
</dependency>

<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>2.2.0</version>
<classifier>test</classifier>
</dependency>

<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.12</artifactId>
<version>2.2.0</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.12</artifactId>
<version>2.2.0</version>
<classifier>test</classifier>
<scope>test</scope>
</dependency>

关于java - EmbeddedKafkaBroker 设置属性抛出 NoClassDefFoundError : kafka/zk/EmbeddedZookeeper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56413386/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com