【发布时间】:2019-03-28 09:53:36
【问题描述】:
我想拆分我的 avro 架构文件。为了生成源代码,我使用了 avro-maven-plugin。我关注了这个帖子:
Can I split an Apache Avro schema across multiple files?
它工作正常,但在我的情况下,我想要有不同的目标,然后我收到一条关于 [ERROR] Failed to execute goal org.apache.avro:avro-maven-plugin:1.8.2:protocol (schemas) on project AvroTestProject: Execution schemas of goal org.apache.avro:avro-maven-plugin:1.8.2:protocol failed: No protocol name specified: ... 的错误消息,因为我导入的文件只是一个架构而不是协议。
这是我的 pom.xml 的 sn-p:
<plugin>
<groupId>org.apache.avro</groupId>
<artifactId>avro-maven-plugin</artifactId>
<version>${avro.version}</version>
<executions>
<execution>
<id>schemas</id>
<phase>generate-sources</phase>
<goals>
<goal>schema</goal>
<goal>protocol</goal>
<goal>idl-protocol</goal>
</goals>
<configuration>
<sourceDirectory>${project.basedir}/src/avro/</sourceDirectory>
<outputDirectory>${project.basedir}/src/</outputDirectory>
<imports>
<import>${project.basedir}/src/avro/TestSchema.avsc</import>
</imports>
</configuration>
</execution>
</executions>
</plugin>
有没有办法只为某个目标声明导入?或者还有其他解决这个问题的方法吗?
【问题讨论】: