Ungültige JAXP-API, wenn unmarshaling JAXB
Ich habe eine JAXB-Objekt kann ich unmarshal in Ordnung. Allerdings, wenn ich ein Element[] Feld Anmerkungen mit @XmlAnyElement, wenn man versucht, unmarshal es wirft:
java.lang.IllegalStateException: Sie laufen mit ungültigen JAXP-api oder Umsetzung. JAXP-api/Implementierung von version 1.3.1 (im JDK6) oder höher erforderlich ist. In den Fall, Sie sind mit Hilfe von ant, stellen Sie sicher, dass ant 1.7.0 oder höher verwendet wird - ältere Versionen von ant enthalten, die JAXP-api/impl version 1.2 (in xml-apis.jar). Wenn Sie möchten, um mit älteren ant-Versionen, müssen Sie ihn konfigurieren, um höher die JAXP-api/impl Versionen.
Einer TestNG-test, der läuft bei mir über das Eclipse-plugin. Läuft bei mir mit der 1.6 JDK und maven konfiguriert ausschließen alten Versionen des xml-apis jar-allerdings kann ich nicht scheinen, um es funktioniert. Ich nehme an, ich bin immer noch der Kommissionierung bis die inkompatible Versionen der Bibliotheken von irgendwo, aber weiß nicht wo von.
Läuft über Eclipse direkt bekomme ich:
29-Aug-2013 10:04:08 com.sun.xml.bind.v2.util.XmlFactory createTransformerFactory
SEVERE: null
java.lang.AbstractMethodError: javax.xml.transform.TransformerFactory.setFeature(Ljava/lang/String;Z)V
at com.sun.xml.bind.v2.util.XmlFactory.createTransformerFactory(XmlFactory.java:155)
at com.sun.xml.bind.v2.runtime.JAXBContextImpl.createTransformerHandler(JAXBContextImpl.java:747)
at com.sun.xml.bind.v2.runtime.unmarshaller.DomLoader$State.<init>(DomLoader.java:75)
at com.sun.xml.bind.v2.runtime.unmarshaller.DomLoader.startElement(DomLoader.java:118)
at com.sun.xml.bind.v2.runtime.unmarshaller.ProxyLoader.startElement(ProxyLoader.java:60)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext._startElement(UnmarshallingContext.java:501)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.startElement(UnmarshallingContext.java:480)
at com.sun.xml.bind.v2.runtime.unmarshaller.SAXConnector.startElement(SAXConnector.java:150)
at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:218)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:190)
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:137)
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:184)
at com.gtspt.vrs.parser.AbstractParserTest.unmarshal(AbstractParserTest.java:33)
at com.gtspt.vrs.parser.AbstractParserTest.testParser(AbstractParserTest.java:26)
at com.gtspt.vrs.parser.TestResultsParser.testParser(TestResultsParser.java:17)
at com.gtspt.vrs.parser.Test.main(Test.java:16)
Hinzugefügt stack-trace-unter "Bearbeiten".
InformationsquelleAutor samblake | 2013-08-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie es aussieht ist das Problem aufgrund einer alten version von Xalan. Es scheint ein minimum von version 2.7.0 ist erforderlich, da das JDK 5. Eine andere Bibliothek zog in einer älteren version, so dass ich ausgeschlossen, dass aus den Maven-build und alles sieht gut aus jetzt.
InformationsquelleAutor samblake
In meinem Fall war es verursacht durch zu alte version von
xercesImpl
. Abhängigkeit unter einer festen esInformationsquelleAutor Ondrej Bozek
In Ergänzung/Unterstützung und um genauer zu sein, wenn Sie mit einem maven-oder JPA-Projekt sollten Sie in der Lage sein, auf der rechten Maustaste auf die Abhängigkeit, Verzeichnis, add-Abhängigkeit und die Suche nach xalan. Fügen Sie alle Versionen 2.7.0 und bis unter die xalan:xalan-Liste.
InformationsquelleAutor James
Lief ich in den gleichen Fehler mit den gleichen Formulierungen, aber es stellte sich heraus, dass ein ganz anderes problem als dependency problem, wie die Fehler vorgeschlagen. Also Teile ich mein auftreten hier im Fall jemand da draußen auch profitieren könnte.
Hatte ich so etwas wie diese in meinem code:
Und in der Rechteck Klasse, ich hatte einen Tippfehler im element angegebenen Namen für die @XmlRootElement - "retangle", nicht passend zu den Namen "Rechteck" in der @XmlElementRef in der ImageObject Klasse:
So, watch out für diese zu, wenn Sie mit der @XmlElementRef annotation.
InformationsquelleAutor Allan Chung
Löste ich dieses problem durch das entfernen xalan von meinem Projekt. Ich bin mit JDK7 in meinem Projekt
InformationsquelleAutor Jitendra Kumar