Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Having issues with using schema-registry:download

I am using the schema registry download maven from here https://docs.confluent.io/platform/current/schema-registry/develop/maven-plugin.html, but I am not able to download the schema into my local project. Here is my plugin content.

<plugin>
  <groupId>io.confluent</groupId>
  <artifactId>kafka-schema-registry-maven-plugin</artifactId>
  <version>6.1.0</version>
  <configuration>
    <schemaRegistryUrls>
      <param>http://localhost:8081</param>
    </schemaRegistryUrls>
    <outputDirectory>src/main/avro</outputDirectory>
    <subjectPatterns>
      <param>MysqlTest2.oms.locations-value</param>
    </subjectPatterns>
    <subjects/>
  </configuration>
</plugin>

Can someone help with it? After I load the maven changes, should I click “clean” and “package” to make it work? Thank you so much!!

like image 587
Shan Avatar asked Nov 29 '25 02:11

Shan


1 Answers

First, make sure you have the plugin repository

<pluginRepositories>
    <pluginRepository> 
        <id>confluent</id> 
        <name>Confluent</name> 
        <url>https://packages.confluent.io/maven/</url> 
    </pluginRepository> 
</pluginRepositories>

Then, the plugin has multiple goals, so you need to specify which to run, and wouldn't hurt to bind to the Maven phase before compile

<plugin>
    <groupId>io.confluent</groupId>
    <artifactId>kafka-schema-registry-maven-plugin</artifactId>
    <version>${confluent.version}</version>
    <executions>
        <execution>
            <id>avro-resources</id>
            <phase>process-resources</phase>
            <goals>
                <goal>download</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        ...
    </configuration>

You should see output that looks like this in the Maven build

[INFO] --- kafka-schema-registry-maven-plugin:6.1.0:download (avro-resources) @ project ---
[INFO] Getting all subjects on schema registry...
[INFO] Schema Registry has XXX subject(s).
[INFO] Downloading latest metadata for mySubject-value.
[INFO] Writing schema for Subject(mySubject-value) to /project/src/main/avro/mySubject-value.avsc.

If you need to get a specific version, then see Maven: downloading files from url and use the /subjects/:name/versions/:number/schema endpoint

like image 131
OneCricketeer Avatar answered Nov 30 '25 16:11

OneCricketeer



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!