使用JAXB时是否总是需要ObjectFactory类?
使用JAXB时是否总是需要ObjectFactory类?
没有它我得到这个例外:
javax.xml.bind.JAXBException:“com.abc”不包含ObjectFactory.class或jaxb.index
我收集 ObjectFactory可能有点矫枉过正。 但鉴于这个例外,我猜你需要它……但不知道为什么?
当您使用JAXBContext.newInstance(String)
工厂方法时,您将获得该exception,其中传递包名称作为参数。 这确实需要ObjectFactory
,否则,JAXB不知道要处理哪些类。
如果您没有ObjectFactory
,则需要使用JAXBContext.newInstance(Class...)
,传入带注释的类的显式列表以添加到上下文中。
您可以包含一个jaxb.index文件,而不是ObjectFactory,该文件是一个文本文件,其中包含一个新的行分隔的Java类列表。
有关使用jaxb.index文件的示例,请参阅: