Avro maven插件创建集而不是List

时间:2017-10-10 12:39:20

标签: maven avro

我已经在pom.xml

中关注了相关性
<dependency>
    <groupId>org.apache.avro</groupId>
    <artifactId>avro</artifactId>
    <version>${avro.version}</version>
    <scope>compile</scope>
</dependency>
<dependency>
    <groupId>org.apache.avro</groupId>
    <artifactId>avro-maven-plugin</artifactId>
    <version>${avro.version}</version>
    <scope>compile</scope>
</dependency>
<dependency>
    <groupId>org.apache.avro</groupId>
    <artifactId>avro-compiler</artifactId>
    <version>${avro.version}</version>
    <scope>compile</scope>
</dependency>
<dependency>
    <groupId>org.apache.avro</groupId>
    <artifactId>avro-ipc</artifactId>
    <version>${avro.version}</version>
    <scope>compile</scope>
</dependency>

...

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.avro</groupId>
            <artifactId>avro-maven-plugin</artifactId>
            <version>${avro.version}</version>
            <executions>
                <execution>
                    <phase>generate-sources</phase>
                    <goals>
                        <goal>schema</goal>
                        <goal>protocol</goal>
                        <goal>idl-protocol</goal>
                    </goals>
                    <configuration>
                        <sourceDirectory>src/main/resources/com/euromonitor/streams/avro/
                        </sourceDirectory>
                    </configuration>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <configuration>
                <archive>
                    <manifest>
                        <mainClass>com.github.buinauskas.streams.StreamAppMain</mainClass>
                    </manifest>
                </archive>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
            </configuration>
        </plugin>
    </plugins>
</build>

我已经获得了以下Avro架构:

{
  "type": "record",
  "name": "SubscriberReports",
  "namespace": "com.euromonitor.avro.elasticsearch",
  "fields": [
    {
      "name": "ReportIDs",
      "type": {
        "type": "array",
        "items": "int"
      }
    }
  ]
}

我想知道是否有办法编译我的Avro架构,以便ReportIDs是Set而不是List?我无法找到找到这种配置的方法。

0 个答案:

没有答案