【发布时间】:2022-06-25 00:04:33
【问题描述】:
我从 Schema 文件生成了 Java 类。当我尝试通过使用 ObjectFactory 作为我的编组器的 JAXB 上下文来生成 XML 文件时,我遇到了 "class jakarta.xml.bind.JAXBElement nor any super class is known to this context" 错误。
javax.xml.bind.JAXBException: class jakarta.xml.bind.JAXBElement nor any of its super class is known to this context. at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getBeanInfo(JAXBContextImpl.java:593) at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:482) at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:323) at com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:251) at javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarshallerImpl.java:110)
任何有关此错误原因或解决方法的线索都会有所帮助。提前致谢!
【问题讨论】:
-
我尝试在我的 ObjectFactory 类中添加 @XmlSeeAlso 注释。调试时,我可以在 marshaller 对象 -> 上下文中看到必要的类。但它仍然会抛出“class jakarta.xml.bind.JAXBElement 及其任何超类都不知道这个上下文”异常。
标签: java xml eclipse jaxb marshalling