gpt4 book ai didi

maven - 将 Apache Avro 模式拆分为多个文件,同时在 avro-maven-plugin 中有多个目标

转载 作者:行者123 更新时间:2023-12-04 17:38:58 26 4
gpt4 key购买 nike

我想拆分我的 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 的错误消息:项目AvroTestProject上的协议(protocol)(模式):目标org.apache.avro的执行模式:avro-maven-plugin:1.8.2:协议(protocol)失败:未指定协议(protocol)名称:...因为我导入的文件只是模式而不是协议(protocol)。

这是我的 pom.xml 的片段:

        <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>

有没有办法只为某个目标声明导入?还是有其他的可能性来解决这个问题?

最佳答案

问题是您在 avro-maven-plugin 中定义的目标。因此,考虑仅设置 schema 目标以避免执行 protocolidl-protocol,因为它与 中的模式声明冲突导入 block 。

关于maven - 将 Apache Avro 模式拆分为多个文件,同时在 avro-maven-plugin 中有多个目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55394623/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com