我在 Java 代码中使用此问题的最后一个答案时遇到问题。 Kafka: Get broker host from ZooKeeper
具体来说,它无法找到该行的最后一个参数:
ZkClient client = new ZkClient("localhost:2181", 10000, kafka.utils.ZKStringSerializer);
我正在使用 Maven,如果重要的话,这些是 pom.xml 中的依赖项。
<dependencies>
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.11</artifactId>
<version>0.8.2.2</version>
</dependency>
<dependency>
<groupId>com.101tec</groupId>
<artifactId>zkclient</artifactId>
<version>0.7</version>
</dependency>
</dependencies>
最佳答案
你必须这样使用
ZkClient client = new ZkClient("localhost:2181", Integer.MAX_VALUE,10000, kafka.utils.ZKStringSerializer$.MODULE$);
kafka.utils.ZKStringSerializer 是一个 scala 对象。要在 java 中使用 scala 对象,您必须像上面一样使用。
关于Java编译器找不到Kafka类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34078359/