2010-04-19 78 views

回答

20

當您使用工廠方法JAXBContext.newInstance(String)時,您會得到該異常,您將包名稱作爲參數傳入。這確實要求ObjectFactory在那裏,否則,JAXB不知道要處理哪些類。

如果您沒有ObjectFactory,則需要使用JAXBContext.newInstance(Class...),而不是傳入帶註釋的類的顯式列表以添加到上下文中。

+1

我們總是有相同的根元素。從根目錄我們有一個很大的classes/xml元素層次結構。那麼我們可以只使用'JAXBContext.newInstance(OurRoot.class)'?或者我們是否需要傳遞所有*我們課程的列表? – 2010-04-19 13:33:31

+2

@Marcus:通常你只需要傳入根類,除非在註釋中有多態關聯,在這種情況下,你還需要傳遞它們。在'ObjectFactory'中生成的方法看起來有點奇怪,在大多數情況下,你根本不需要使用它們,你可以直接實例化。它們對創建'JAXBElement'包裝非常有用。 – skaffman 2010-04-19 13:47:43

相關問題