2011-09-08 40 views

回答

2

如果要在上下文路徑(包名稱)上創建JAXBContext,那麼可以通過提供名爲jaxb.index的文本文件,並使用回車分隔的類名稱列表來避免需要ObjectFactory類。舉一個例子,請參閱:

或者你可以通過在域類創建的JAXBContext:

JAXBContext jc = JAXBContext.newInstance(Foo.class, Bar.class); 
+0

嗨@Blaise,我已經讀到jaxb.in​​dex ,但它不是很好,因爲班級列表上的任何更新都需要更新jaxb.in​​dex。同時將域類顯式傳遞給JAXBContext看起來不太方便。 – Vladimir

+1

@Vladimir - 問題的核心是沒有Java API從特定的包中獲取類。爲了解決這個問題,JAXB impl將查找一個ObjectFactory類(因爲它有一個已知名稱),並從中確定域對象。替代方法是通過jaxb.in​​dex或一個類的數組提供域對象的列表。 –

+0

非常感謝,像往常一樣詳細的解釋。 – Vladimir