我正在使用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/