我正在使用avro-maven-plugin 1.8.1从架构生成Java代码,并且所有字段都是公共(public)的并且已弃用,如下所示:

  public class data_elements extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
  private static final long serialVersionUID = 2829359487251568000L;
  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("......");
  public static org.apache.avro.Schema getClassSchema() { return SCHEMA$; }
  @Deprecated public java.lang.CharSequence timestamp;
  @Deprecated public double value;
  @Deprecated public java.lang.CharSequence op;
...
}

它使人感到困惑和不舒服,有人知道为什么会这样吗?

最佳答案

如果您传递fieldVisibility=private参数,则@Deprecated应该消失,并且您的字段将是私有(private)的。

关于avro - 为什么avro生成的Java代码具有如此多的不赞成使用的字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39613096/

10-13 03:28