我正在使用marshaling
调查对象unMarshaling
和JAXB
。虽然注意到有两种方法可以获得JAXBContext
的实例。
JAXBContext context = JAXBContext.newInstance(ex.getClass());
JAXBContext context = JAXBContext.newInstance(ex.getClass().getPackage().getName());
对于第二种方式,您必须提供jaxb.index
文件,其中包含bean类名称列表。
也许有人可以解释,这两种获取JAXBContext
实例的方法有什么区别?哪个更好用,何时使用?
答案 0 :(得分:2)
对于第二种方式,您必须提供
jaxb.index
文件,其中包含bean类名称列表。
这不正确。在JAXB2中,这也可以在没有jaxb.index
的情况下工作,这些类被识别出来了#34;通过ObjectFactory
和@XmlSeeAlso
。
通常的方法是使用JAXBContext context = JAXBContext.newInstance("my.package:my.another.package);
,因为您通常想要考虑所有相关的类,并且不想明确枚举它们。