我想要生成,我可以從驗證XSD文件使用類的類中發現:誤差產生從qbxml XSD架構
C:\Program Files\Intuit\IDN\Common\tools\validator
我運行:
xjc qbxmltypes.xsd qbxml.xsd qbxmlso.xsd qbxmlops.xsd
並且該工具按預期生成'generated'目錄和類文件。但是,這些類似乎不能正常工作。我將這些類添加到我的項目中,重新打包它們,並且一切都很順利。當我創建因此新的JAXBContext對象:
JAXBContext jaxbContext = JAXBContext.newInstance(ObjectFactory.class);
,這個編譯就好了,但我得到的運行時錯誤(他們很多,重複同一條線路)在System.err的,上面寫着:
No XmlSchema annotation found for [packagenamehere]
我搜索的XmlSchema的用途包路徑,並沒有找到。 JAXB顯然需要在運行時。
我使用錯誤的.xsd文件嗎?我應該將XmlSchema註釋添加到ObjectFactory.java類中嗎?我在這裏做錯了什麼?我想我只是用xjc來構建錯誤的類。我應該編譯哪個.xsd文件?
這與手頭的問題無關lol。而且你沒有徹底讀懂這個問題。 – moonlightcheese
@moonlightcheese - 我重讀你的問題,我相信我說的一切仍然適用。指定'-p'標誌消除了重新包裝你的類的需要。而在包名上創建'JAXBContext'而不是'ObjectFactory'將會更好地爲你工作。 –
感謝您的回覆。我確實嘗試了你在這裏發佈的信件。從模式重建類並使用JAXB類所在的包中的JAXBContext.newInstance(「com.example.qbxml.jaxb」)。同樣的問題仍然存在。我瀏覽了這個:[XmlSchema](http://jaxb.java.net/nonav/2.2.4/docs/api/javax/xml/bind/annotation/XmlSchema.html),好像JAXB想要定義這個註釋在一個名爲package-info.java的文件中。 – moonlightcheese