3

JAXP 给了我这个错误

10 counts of IllegalAnnotationExceptions

有什么方法可以找出这 10 个错误在哪里?如果我引用我的一些代码,我可以把它减少到 7 个错误,但这是最愚蠢的调试方式......

我可以像使用 DOM 一样注册一些 ErrorHandler 吗?

我的代码如下所示:

DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
dbFactory.setNamespaceAware( true);
dbFactory.setValidating(true);
dbFactory.setAttribute("http://java.sun.com/xml/jaxp/properties/schemaLanguage", "http://www.w3.org/2001/XMLSchema");
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
dBuilder.setErrorHandler(logger);
Document doc = dBuilder.parse(file);
JAXBContext jc= JAXBContext.newInstance(Config.class); // Here exception is thrown
Unmarshaller u = jc.createUnmarshaller();
Config config =  (Config) u.unmarshal(doc);

编辑:

这是堆栈跟踪,但它并没有真正告诉我错误在哪里。

消息:10 次 IllegalAnnotationExceptions com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException$Builder.check(Unknown Source) com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(Unknown Source) com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.(Unknown Source) com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(Unknown Source) com.sun.xml.internal .bind.v2.ContextFactory.createContext(Unknown Source) com.sun.xml.internal.bind.v2.ContextFactory.createContext(Unknown Source) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(未知来源) sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源) java.lang.reflect.Method.invoke(未知来源) javax.xml.bind.ContextFinder.newInstance(未知来源) javax。xml.bind.ContextFinder.find(未知来源) javax.xml.bind.JAXBContext.newInstance(未知来源) javax.xml.bind.JAXBContext.newInstance(未知来源)

4

0 回答 0