簡體   English   中英

如何為avro idl文件上的@javaAnnotation提供參數?

[英]How to supply argument to a @javaAnnotation on an avro idl file?

我正在嘗試向我的 avro idl 文件(avdl 文件)添加一個 java 注釋。 而且我似乎無法弄清楚如何為注釋提供參數。 這是一個簡化的例子

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 編譯器不會剝離注釋名稱。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM