给定一个 POJO(例如 User.java),是否有任何 Maven 插件可以在编译时将其转换为 AVRO 模式 avsc?
我尝试了
Schema schema = ReflectData.get().getSchema(User.class)
,但这种方法不会在编译时生成avsc。
非常感谢!
您可以使用 avro-maven-plugin 和“induce”目标将 Pojo 类转换为 avsc 模式文件
<plugin>
<groupId>org.apache.avro</groupId>
<artifactId>avro-maven-plugin</artifactId>
<version>1.11.3</version>
<executions>
<execution>
<phase>process-classes</phase>
<goals>
<goal>induce</goal>
</goals>
<configuration>
<javaSourceDirectories>${project.basedir}/target/generated-sources/annotations/src/main/java</javaSourceDirectories>
<allowNull>true</allowNull>
</configuration>
</execution>
</executions>
</plugin>