在 java 中执行简单的 kafka 生产者程序

Executing simple kafka producer program in java

我已经在我的 google 云实例中设置了 kafka,并且能够 运行 成功创建生产者和消费者的命令。

现在我正在尝试 运行 java 中的这个 simple kafka producer code,但是我无法在编译后成功执行代码。

为了编译,

sudo javac -classpath '/opt/kafka/libs/*' *.java

完美运行并生成 SimpleProducer.class

然而,当我尝试执行命令时,出现以下错误。

[username@gcloud-instance ~]$ java -cp '/opt/kafka/libs/*':. SimpleProducer
Error: Could not find or load main class SimpleProducer

我尝试了 运行ning 一些其他命令,例如

[username@gcloud-instance ~]$ sudo java -cp '/opt/kafka/libs/*':. SimpleProducer sample-quickstart-topic
Exception in thread "main" org.apache.kafka.common.config.ConfigException: Invalid value org.apache.kafka.common.serializa-tion.StringSerializer for configuration key.serializer: Class org.apache.kafka.common.seriali
za-tion.StringSerializer could not be found.
        at org.apache.kafka.common.config.ConfigDef.parseType(ConfigDef.java:744)
        at org.apache.kafka.common.config.ConfigDef.parseValue(ConfigDef.java:490)
        at org.apache.kafka.common.config.ConfigDef.parse(ConfigDef.java:483)
        at org.apache.kafka.common.config.AbstractConfig.<init>(AbstractConfig.java:113)
        at org.apache.kafka.common.config.AbstractConfig.<init>(AbstractConfig.java:133)
        at org.apache.kafka.clients.producer.ProducerConfig.<init>(ProducerConfig.java:490)
        at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:290)
        at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:317)
        at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:302)
        at SimpleProducer.main(SimpleProducer.java:28)

但 none 似乎有效。如有任何帮助,我们将不胜感激。

链接页面在序列化程序中有错别字

删除 serializa-tion 中的连字符,因为 Java class 名称中不允许使用连字符

或者直接使用 StringSerializer.class 作为值而不是字符串。


我仍然建议您使用 IDE 和 Maven/Gradle 而不是通过终端编辑和编译