2017-06-20 311 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客戶端成爲一個例外。我不知道更多

相關問題