【问题标题】:Error in jackson-dataformat-avrojackson-dataformat-avro 中的错误
【发布时间】:2014-06-12 05:57:29
【问题描述】:

这是我的主要课程:

public static void main(String arg[]) throws JsonProcessingException {
  Address a = new Address("Jln Koli", "90121", "Vila", "Belgium");
  Person p = new Person("Ali Bin Baba", new Date(), 90.0, 12, a);

  List<Person> persons = new LinkedList<>();
  persons.add(p);
  persons.add(p);

  ObjectMapper mapper = new ObjectMapper(new AvroFactory());
  AvroSchemaGenerator generator = new AvroSchemaGenerator();
  mapper.acceptJsonFormatVisitor(Person.class, generator);
  AvroSchema shema = generator.getGeneratedSchema();
  byte[] avro = mapper.writer(shema).writeValueAsBytes(p);

  System.out.println(avro.toString());
}

这是我的 Person.java:

@XmlRootElement(name = "Person")
public class Person {
private String name;
private double height;
private int age;
private Date date;
@XmlElement(name = "Address")
private Address address;
    //getters/setters
}

错误:

我的问题:

  1. 目前,我使用 Jackson 2 编写了用于编写 Avro 编码数据的代码。但我得到了这个错误。我不知道哪个部分出了问题。看起来,JSON、YAML、XML 等其他数据格式都可以正常工作。

【问题讨论】:

  • 在你写的代码为List&lt;Person&gt; persons = new LinkedList&lt;&gt;(); 更改为List&lt;Person&gt; persons = new LinkedList&lt;Person&gt;(); 我不确定,但你的代码是如何编译的?
  • Mandar Pandit,它是 java 的菱形运算符。适用于 JDK1.7 。我的代码没有任何问题,只是 avro 部分而已。
  • 我无法重现该错误。哪个版本的 Jackson/Avro 正在运行?可以试试2.4.0吗?

标签: java json jackson avro jackson-dataformat-avro


【解决方案1】:

所以这被报告为

https://github.com/FasterXML/jackson-dataformat-avro/issues/8

并在即将发布的 2.4.1 补丁版本中修复。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-30
    • 1970-01-01
    • 2012-12-16
    • 2017-10-24
    • 2017-01-11
    • 2019-11-09
    相关资源
    最近更新 更多