我想基于Java项目中先前定义的模式文件自动创建类。 为此,我使用了Avro Maven插件。
问题是生成的类不是纯粹的POJO对象 - 在我的数据模型中也有我不想要的avro引用(想要保持简单):
import org.apache.avro.Schema;
import org.apache.avro.Schema.Parser;
import org.apache.avro.data.RecordBuilder;
import org.apache.avro.io.DatumReader;
import org.apache.avro.io.DatumWriter;
import org.apache.avro.specific.AvroGenerated;
import org.apache.avro.specific.SpecificData;
import org.apache.avro.specific.SpecificDatumReader;
import org.apache.avro.specific.SpecificDatumWriter;
import org.apache.avro.specific.SpecificRecord;
import org.apache.avro.specific.SpecificRecordBase;
import org.apache.avro.specific.SpecificRecordBuilderBase;
有没有办法只生成POJO对象?序列化/反序列化过程是否需要avro引用?
答案 0 :(得分:0)
无法使用avro maven插件或avro-tools.jar生成POJO而无需avro。
这些工具是如何工作的,当然这些导入对于正常的序列化/反序列化不是必需的,所以如果不需要它们 - 最好的方法是使用另一个lib /插件来生成POJO。