在 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 而不是通过终端编辑和编译
我已经在我的 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 而不是通过终端编辑和编译