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);
編集:
これがスタックトレースですが、エラーがどこにあるかは実際にはわかりません。
メッセージ:IllegalAnnotationExceptionsの10カウントcom.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException $ Builder.check(不明なソース)com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(不明なソース) com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl。(不明なソース)com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl $ JAXBContextBuilder.build(不明なソース)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(不明なソース)