avsc文件生成实体类
pom.xml 加入 配置
<project>
<dependencies>
<!-- avsc文件 生成实体类依赖 -->
<dependency>
<groupId>org.apache.avro</groupId>
<artifactId>avro</artifactId>
<version>1.8.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<!-- avsc文件 生成实体类插件 -->
<plugin>
<groupId>org.apache.avro</groupId>
<artifactId>avro-maven-plugin</artifactId>
<version>1.8.0</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>schema</goal>
</goals>
<configuration>
<sourceDirectory>${project.basedir}/src/main/avro/</sourceDirectory>
<outputDirectory>${project.basedir}/src/main/java/</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>8</source>
<target>8</target>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>confluent</id>
<url>http://packages.confluent.io/maven/</url>
</repository>
</repositories>
</project>
main目录下生成avro目录,并放入要转换实体类的json文件
{
"namespace": "com.zzw.pojo", // 实体类存放路径
"type": "record",
"name": "User", // 实体类文件名
"fields": [ // 实体类属性
{"name": "name", "type": "string"}, // 实体类属性名和类型
{"name": "favorite_number", "type": ["int", "null"]},
{"name": "favorite_color", "type": ["string", "null"]}
]
}
通过mvn compile 生成实体类
avsc文件生成实体类
pom.xml 加入 配置
<project>
<dependencies>
<!-- avsc文件 生成实体类依赖 -->
<dependency>
<groupId>org.apache.avro</groupId>
<artifactId>avro</artifactId>
<version>1.8.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<!-- avsc文件 生成实体类插件 -->
<plugin>
<groupId>org.apache.avro</groupId>
<artifactId>avro-maven-plugin</artifactId>
<version>1.8.0</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>schema</goal>
</goals>
<configuration>
<sourceDirectory>${project.basedir}/src/main/avro/</sourceDirectory>
<outputDirectory>${project.basedir}/src/main/java/</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>8</source>
<target>8</target>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>confluent</id>
<url>http://packages.confluent.io/maven/</url>
</repository>
</repositories>
</project>
main目录下生成avro目录,并放入要转换实体类的json文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0aGSmN9p-1630728159527)(kafka.assets/image-20210904115620872.png)]
{
"namespace": "com.zzw.pojo", // 实体类存放路径
"type": "record",
"name": "User", // 实体类文件名
"fields": [ // 实体类属性
{"name": "name", "type": "string"}, // 实体类属性名和类型
{"name": "favorite_number", "type": ["int", "null"]},
{"name": "favorite_color", "type": ["string", "null"]}
]
}
通过mvn compile 生成实体类
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ns8Cp2Ek-1630728159530)(kafka.assets/image-20210904115917357.png)]