Java-Methode funktioniert in der 1.5 aber nicht 1.6

Ich habe eine Anwendung, die läuft schon gerne unter Java 1.5 für etwa ein Jahr. Wir hatten nur die Felder aktualisiert und hatte Java 1.6 installiert.

Nach der Installation der app auf dem neuen server die wir gefunden haben, ist die Anwendung eine Ausnahme auslösen, wenn er versucht zu transformieren XML. Wir konnten nicht verstehen, warum dies geschieht, bis wir schickten Sie lokal und das gleiche passierte. Nach dem ändern des SDK v1.5 das problem beendet und die Anwendung läuft einwandfrei.

Hier ist die Methode, Quelle:

import java.io.StringWriter;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Element;
import org.w3c.dom.Node;


   public static String xmlToString(Node node) {
    try {
        Source source = new DOMSource(node);
        StringWriter stringWriter = new StringWriter();
        Result result = new StreamResult(stringWriter);
        TransformerFactory factory = TransformerFactory.newInstance();
        Transformer transformer = factory.newTransformer();
        transformer.transform(source, result);
        return stringWriter.getBuffer().toString();
    } catch (TransformerConfigurationException e) {
        e.printStackTrace();
    } catch (TransformerException e) {
        e.printStackTrace();
    }
    return null;
   }

Es zu Abstürzen auf der "Transformator.transform(source, result);" - Zeile mit der Ausnahme:

Exception in thread "main" java.lang.AbstractMethodError: org.apache.xerces.dom.DocumentImpl.getXmlStandalone()Z
    at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.setDocumentInfo(DOM2TO.java:373)
    at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:127)
    at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:94)
    at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(TransformerImpl.java:662)
    at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:708)
    at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:313)

Kennt jemand irgendwelche änderungen an Java zwischen den zwei Versionen, die Ursache wäre? Was wäre die einfachste Lösung?

Vielen Dank für Ihre Hilfe.

InformationsquelleAutor der Frage James Camfield | 2009-08-10

Schreibe einen Kommentar