0

我需要在 ANT 构建中从 .avsc 文件(avro)生成文件。我不确定我应该为此使用什么插件。我尝试使用 xjc.XJC2Task 生成文件,但它似乎不起作用。有人可以建议我应该使用什么插件/类从 ANT 中的 avro 模式生成文件吗?

用 xjc 试过:

    <target name="generate" description="generate">
        <mkdir dir="generated" />
        <taskdef name="xjc" classname="com.sun.tools.xjc.XJC2Task" classpathref="classpath"/>
        <xjc destdir="generated">
            <schema dir="setup/kafka" includes="*.avsc" />
        </xjc>
    </target>

错误:

    generate:
          [xjc] Consider using <depends>/<produces> so that XJC won't do unnecessary compilation
          [xjc] Compiling file:/D:/2019/My-workspace/my-project/setup/kafka/Sample.avsc
          [xjc] [ERROR] Content is not allowed in prolog.
          [xjc]   line 1 of file:/D:/2019/My-workspace/my-project/setup/kafka/Sample.avsc
          [xjc] failure in the XJC task. Use the Ant -verbose switch for more details
4

1 回答 1

0

使用 java jar 命令编译 avro-tools jar 。有效。

 <target name="run-avro">
    <java jar="lib/avro-tools-1.10.1.jar" fork="true">
        <arg line="compile schema"/>
        <arg file="avrolocation/Sample.avsc"/>
        <arg file="generated/"/>
    </java>
    </target>
于 2020-12-16T15:14:18.473 回答