Fehler beim Aufheben der Marshalling-XML in Java-8 "sichere Verarbeitung von org.xml.sax.SAXNotRecognizedException, die java.lang.IllegalStateException verursacht"

Der folgende Code hat in Java 7 gut funktioniert

import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;

String xmlString = '<xml ..... ';

StringReader reader = new StringReader(xmlString);

JAXBContext jc = JAXBContext.newInstance(MyClass.class);
Unmarshaller unmarshaller = jc.createUnmarshaller();
MyClass myClass = (MyClass) unmarshaller.unmarshal(reader);
....

Nun mussten wir auf Java 8 upgraden und jetzt bekomme ich diese Ausnahme beim Ausführen des Codes:

Sep 03, 2014 1:42:47 PM com.sun.xml.internal.bind.v2.util.XmlFactory createParserFactory
SCHWERWIEGEND: null
org.xml.sax.SAXNotRecognizedException: Feature: http://javax.xml.XMLConstants/feature/secure-processing
    at org.apache.xerces.jaxp.SAXParserFactoryImpl.setFeature(SAXParserFactoryImpl.java:100)
    at com.sun.xml.internal.bind.v2.util.XmlFactory.createParserFactory(XmlFactory.java:114)
    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.getXMLReader(UnmarshallerImpl.java:139)
    at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:157)
    at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:214)

Ich weiß, dass es ein @ giFrag Ein ähnliches Problem anzugehen, aber einen Schritt zurück zu Java 7 zu machen, ist für mich keine Lösung.

Ich habe versucht, die folgende maven-Abhängigkeit hinzuzufügen

<dependency>
    <groupId>javax.xml</groupId>
    <artifactId>jaxp-api</artifactId>
    <version>1.4</version>
</dependency>

Aber das hat das Ergebnis nicht verändert, also habe ich es entfernt (danke an @BlaiseDoughan für die Information, dass dies in Java 6 enthalten ist)

Hinweise sind willkommen, vielen Dank.

Antworten auf die Frage(11)

Ihre Antwort auf die Frage