简体   繁体   English

Kafka Producer Exception NoClassDefFoundError

[英]Kafka Producer Exception NoClassDefFoundError

I have some problem with kafka Producer, but i dont know how i can solved it 我对kafka Producer有一些问题,但我不知道我怎么能解决它

My Maven Dependency: 我的Maven依赖:

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

If i create: 如果我创建:

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

I become Exception: 我变成了例外:

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

Idea where is the problem? 想法问题在哪里?

org.apache.kafka.clients.producer.Producer is in the kafka-clients artifact. org.apache.kafka.clients.producer.Producer位于kafka-clients工件中。 You should use 你应该用

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

kafka_2.10 is the artifact for the broker. kafka_2.10是经纪人的工件。 You don't need it if you're just writing a producer/consumer (except for integration testing your producer/consumer against a test cluster). 如果您只是编写生产者/消费者(除了针对测试集群对生产者/消费者进行集成测试之外),则不需要它。

if i use 如果我使用

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

I become the new Error: KafkaProducer Claas not found. 我成了新的错误:找不到KafkaProducer Claas。

If i doing this with my java Client and create a Producer, error: 如果我使用我的Java客户端执行此操作并创建生产者,则错误:

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

I testet it on the server with console producer and console consumer, it works! 我在控制台生产商和控制台消费者的服务器上测试它,它的工作原理! But with java client become a Exception. 但随着java客户端成为一个例外。 I have no idea more 我不知道更多

This happened to me too. 这也发生在我身上。 I solved it using BootStrapExtansionSchema like this : 我用BootStrapExtansionSchema解决了这个问题:

java -Xbootclasspath/a:tyrus.jar -jar MyJar.jar java -Xbootclasspath / a:tyrus.jar -jar MyJar.jar

You can add many libraries seperated by : 您可以添加许多库分隔:

java -Xbootclasspath/a:/usr/local/kafka/libs/kafka-clien-1.0.0.jar:tyrus.jar -jar MyJar.jar java -Xbootclasspath / a:/usr/local/kafka/libs/kafka-clien-1.0.0.jar:tyrus.jar -jar MyJar.jar

Or you can simply package everything together, using 或者你可以简单地将所有东西打包在一起

maven-assembly-plugin

add this to your pom.xml: 将其添加到您的pom.xml:

  <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                 <executions>
                     <execution>
                         <phase>package</phase>
                         <goals>
                             <goal>single</goal>
                         </goals>
                     </execution>
                 </executions>
                 <configuration>
                     <descriptorRefs>
                         <descriptorRef>jar-with-dependencies</descriptorRef>
                     </descriptorRefs>
                    <archive>
                         <manifest>
                             <mainClass>pakageName.MainClassName</mainClass>
                         </manifest>
                     </archive>
                 </configuration>
             </plugin>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何为Kafka Producer示例修复NoClassDefFoundError? - How to fix NoClassDefFoundError for Kafka Producer Example? java.lang.NoClassDefFoundError:org / apache / kafka / clients / producer / Producer - java.lang.NoClassDefFoundError: org/apache/kafka/clients/producer/Producer 未找到卡夫卡生产者类异常 - Kafka Producer Class Not Found Exception 如何在Eclipse下使用自定义Kafka生产者修复NoClassDefFoundError? - How to fix NoClassDefFoundError with custom Kafka producer under Eclipse? 使用 Avro 序列化程序初始化 Kafka Producer 时出错:java.lang.NoClassDefFoundError - Error Initializing Kafka Producer with Avro Serializer: java.lang.NoClassDefFoundError kafka 生产者示例 - 找不到类异常 - kafka producer example - class not found exception 线程“kafka-producer-network-thread”中未捕获的异常 | 生产者-1 - Uncaught exception in thread 'kafka-producer-network-thread | producer-1 Kafka 生产者抛出“key.serializer”异常 - Kafka producer throws "key.serializer" exception 处理 Kafka Producer 超时异常的指南? - Guidelines to handle Timeout exception for Kafka Producer? 生产商在卡夫卡经纪人破产的情况下花费更长的时间抛出异常 - Producer taking longer time to throw exception in case of kafka broker down
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM