首页 > 解决方案 > Intellij Idea 上的 Kafka 生产者给出语法错误

问题描述

这是 intellij 上 .java 文件中的生产者代码。在构建代码时有几个 sytnax 错误,就像缺少“;”一样 在属性声明中。任何帮助表示赞赏。

这是一个 producer.java 文件,其中包含生成消息的代码。引导服务器被分配给一个变量。培训师能够解决任何问题,但是,看起来我遇到了 14 个格式错误——其中大多数都被认为是一个像 ; 或“不是声明”。

package kafka.tutorial1;

import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.ProducerConfig;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.apache.kafka.common.serialization.StringSerializer;

import java.util.Properties;

public class ProducerDemo {
    public static void main(String[] args) {

        String bootstrapServers = "127.0.0.1:9092";

        //create producer properties
        Properties properties = new Properties();
        Properties setProperty(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServers);
        Properties setProperty(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
        Properties setProperty(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());

        //CREATE PRODUCER
        KafkaProducer<String, String> producer = new KafkaProducer<String, String>(properties);

        //create producer record
        ProducerRecord<String, String> record =
                new ProducerRecord<String, String>("first_topic", "hello world");

        //send data
        producer.send(record);

    }
}

POM如下 -

    <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>dattamza</groupId>
    <artifactId>simple-kafka</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <!-- https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients -->
        <dependency>
            <groupId>org.apache.kafka</groupId>
            <artifactId>kafka-clients</artifactId>
            <version>2.7.0</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-simple -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-simple</artifactId>
            <version>1.7.30</version>
        </dependency>

    </dependencies>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

</project>

标签: javaintellij-ideaapache-kafka

解决方案


你在哪里

Properties setProperty(..., ...);

你的意思是

properties.setProperty(..., ...);

也就是说,您需要调用您在变量中创建setProperty的实例的方法。Propertiesproperties

Properties setProperty(..., ...);没有意义。


推荐阅读