Jaxb何时使用jaxb.in​​dex文件

时间:2017-04-10 19:11:29

标签: java xml jaxb

我正在使用marshaling调查对象unMarshalingJAXB。虽然注意到有两种方法可以获得JAXBContext的实例。

  • 一个基于班级:JAXBContext context = JAXBContext.newInstance(ex.getClass());
  • 其他一个基于包名:JAXBContext context = JAXBContext.newInstance(ex.getClass().getPackage().getName());

对于第二种方式,您必须提供jaxb.index文件,其中包含bean类名称列表。

也许有人可以解释,这两种获取JAXBContext实例的方法有什么区别?哪个更好用,何时使用?

1 个答案:

答案 0 :(得分:2)

  

对于第二种方式,您必须提供jaxb.index文件,其中包含bean类名称列表。

这不正确。在JAXB2中,这也可以在没有jaxb.index的情况下工作,这些类被识别出来了#34;通过ObjectFactory@XmlSeeAlso

通常的方法是使用JAXBContext context = JAXBContext.newInstance("my.package:my.another.package);,因为您通常想要考虑所有相关的类,并且不想明确枚举它们。