【问题标题】:Using confluent avro serializer in Java - NoSuchFieldError: PASSWORD在 Java 中使用 confluent avro 序列化程序 - NoSuchFieldError: PASSWORD
【发布时间】:2020-08-25 04:40:28
【问题描述】:

我在 java 中使用 confluent avro producer,但在运行时遇到问题。我已经添加了所有必需的 jar。不知道我错过了什么?

Exception in thread "main" java.lang.NoSuchFieldError: PASSWORD
    at io.confluent.kafka.serializers.AbstractKafkaAvroSerDeConfig.baseConfigDef(AbstractKafkaAvroSerDeConfig.java:92)
    at io.confluent.kafka.serializers.KafkaAvroSerializerConfig.<clinit>(KafkaAvroSerializerConfig.java:28)
    at io.confluent.kafka.serializers.KafkaAvroSerializer.configure(KafkaAvroSerializer.java:48)
    at org.apache.kafka.common.serialization.ExtendedSerializer$Wrapper.configure(ExtendedSerializer.java:60)
    at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:341)
    at org.apache.kafka.clients.producer.KafkaProducer.<init>(KafkaProducer.java:302)

我尝试了以下配置。

Properties prop = new Properties();
        prop.put("bootstrap.servers", "localhost:9092");
        prop.put("schema.registry.url", "http://localhost:8081");
        //prop.put("basic.auth.user.info", "");
        prop.put("ssl.keystore.type",null);
        prop.put("acks", "all");
        prop.put("retries", "0");
        prop.put("key.serializer", "io.confluent.kafka.serializers.KafkaAvroSerializer");
        prop.put("value.serializer", "io.confluent.kafka.serializers.KafkaAvroSerializer");
        prop.put("group.id", "test");

这些是我使用它的依赖项。所有最新版本的罐子。

        <dependency>
            <groupId>io.confluent</groupId>
            <artifactId>kafka-schema-registry</artifactId>
            <version>4.1.0</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/io.confluent/common-config -->
        <dependency>
            <groupId>io.confluent</groupId>
            <artifactId>common-config</artifactId>
            <version>3.3.1</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/io.confluent/common-utils -->
        <dependency>
            <groupId>io.confluent</groupId>
            <artifactId>common-utils</artifactId>
            <version>3.3.1</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/io.confluent/kafka-connect-avro-converter -->
        <dependency>
            <groupId>io.confluent</groupId>
            <artifactId>kafka-connect-avro-converter</artifactId>
            <version>5.2.1</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/io.confluent/kafka-schema-registry-client -->
        <dependency>
            <groupId>io.confluent</groupId>
            <artifactId>kafka-schema-registry-client</artifactId>
            <version>5.2.1</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/io.confluent.kafka/connect-utils -->
        <dependency>
            <groupId>io.confluent.kafka</groupId>
            <artifactId>connect-utils</artifactId>
            <version>0.1.18</version>
        </dependency>

        <dependency>
            <groupId>io.confluent.kafka</groupId>
            <artifactId>connect-checkstyle</artifactId>
            <version>0.1.18</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/io.confluent/rest-utils -->
        <dependency>
            <groupId>io.confluent</groupId>
            <artifactId>rest-utils</artifactId>
            <version>4.1.0</version>
        </dependency>

【问题讨论】:

    标签: java apache-kafka confluent-platform


    【解决方案1】:

    我在混合版本时看到了这个错误。

    你应该只需要这个,因为 common util、client、rest-utils 等都是传递依赖项

        <dependency>
            <groupId>io.confluent</groupId>
            <artifactId>kafka-avro-serializer</artifactId>
            <version>5.2.1</version>
        </dependency>
    

    https://docs.confluent.io/current/app-development/index.html#native-clients-with-serializers

    删除其余的依赖关系,或者至少为版本创建一个属性并重新使用它

    【讨论】:

      猜你喜欢
      • 2019-07-30
      • 2019-04-04
      • 2020-10-15
      • 2021-10-23
      • 2019-11-18
      • 2012-10-26
      • 1970-01-01
      • 2018-01-31
      • 2023-03-11
      相关资源
      最近更新 更多