魔法是由avro-maven-plugin制造的,您可以在pom.xml中找到它:
org.apache.avro
avro-maven-plugin
${avro.version}
generate-sources
schema
src/main/resources/avro/io/confluent/examples/streams
${project.build.directory}/generated-sources
String
引用该插件的文档:
Simple integration with dynamic languages. Code generation is not required to read or write data files nor to use or implement RPC protocols. Code generation as an optional optimization, only worth implementing for statically typed languages.
这是在预编译时,该插件读取avsc文件的内容并生成二进制源(在这种情况下为Java类),然后可以在代码中使用它.
您可以在目标/生成源中看到该插件生成的代码.那里会有一个文件夹结构和正确的Java(不是类)文件.