如何向 avro idl 文件上的@javaAnnotation提供参数



我正在尝试将java注释添加到我的avro idl文件(avdl文件(中。 而且我似乎无法弄清楚如何为注释提供参数。 下面是一个简化的示例

protocol Message {
    record Message {
        int @javaAnnotation("java.lang.SuppressWarnings") myInt = 0;
    }
}

当我尝试编译它时,我得到

error: annotation @SuppressWarnings is missing a default value for the element 'value'
@java.lang.SuppressWarnings
  ^
1 error

但我真的没有看到任何允许我传递参数的语法。这是添加此功能的票证 https://issues.apache.org/jira/browse/AVRO-1186 以供参考。

我使用的是 avro 版本 1.8.2 并使用 gradle-avro 插件版本 0.12.0

我任何人都可以提供一些见解,将不胜感激。

您可以按原样编写注释,转义双引号:

protocol Message {
    record Message {
        int @javaAnnotation("java.lang.SuppressWarnings("unused")") myInt = 0;
    }
}

Avro 编译器不执行任何操作来去除注释名称。

最新更新