如果在avro模式定义中使用了Map类型,可能会发生代码生成问题。出现此问题的原因在于avro maven插件的默认行为,它不支持Map模式的代码生成。为了解决此问题,需要在pom.xml文件中添加正确的配置。例如,下面是一个使用Map模式的示例avro模式定义和相关的pom.xml配置:
在avro模式定义中添加Map类型:
{"type": "map", "values": "string"}
在pom.xml文件中添加以下配置:
org.apache.avro
avro-maven-plugin
${avro.version}
generate-sources
schema
idl
generate
${project.basedir}/src/main/avro
${project.build.directory}/generated-sources
String
true
PRIVATE
${project.basedir}/src/main/resources/templates
true
true
注意,