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.