2017-06-20 313 views
0

我有一些问题,卡夫卡制片人,但我不知道我可以解决它卡夫卡生产者异常的NoClassDefFoundError

我Maven的相关性:

<dependency> 
    <groupId>org.apache.kafka</groupId> 
    <artifactId>kafka_2.10</artifactId> 
    <version>0.10.1.1</version> 
</dependency> 

如果我创建:

Producer<String, byte[]> producer = createKafkaProducer(); 

我成为例外:

java.lang.NoClassDefFoundError: org/apache/kafka/clients/producer/Producer 
at de.dienes.opitz.node.NodesValue.onSubscriptionValue(NodesValue.java:120) 
at org.eclipse.milo.opcua.sdk.client.subscriptions.OpcUaMonitoredItem.onValueArrived(OpcUaMonitoredItem.java:176) 
at org.eclipse.milo.opcua.sdk.client.subscriptions.OpcUaSubscriptionManager.lambda$null$28(OpcUaSubscriptionManager.java:547) 
at org.eclipse.milo.opcua.stack.core.util.ExecutionQueue$PollAndExecute.run(ExecutionQueue.java:107) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
at java.lang.Thread.run(Thread.java:748) 
Caused by: java.lang.ClassNotFoundException: org.apache.kafka.clients.producer.Producer 
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
... 9 common frames omitted 

想法问题在哪里?

回答

2

org.apache.kafka.clients.producer.Producer是在kafka-clients神器。您应该使用

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

kafka_2.10是经纪人的产品。如果您只是编写生产者/消费者(除了针对测试群集对生产者/消费者进行集成测试),则不需要它。

0

如果我使用

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

我成为新的错误:KafkaProducer克拉斯未找到。

如果我用我的Java客户端这样做,并创建一个制片人,错误:

java.lang.NoClassDefFoundError: org/apache/kafka/clients/producer/KafkaProducer 

我testet它与控制台生产者和消费者的控制台服务器上,它的工作原理!但与java客户端成为一个例外。我不知道更多

相关问题