मेरे पास एक ऐसा एप्लिकेशन है जो लगभग एक वर्ष के लिए जावा 1.5 के तहत खुशी से चल रहा है। हमने अभी बॉक्स को अपडेट किया है और जावा 1.6 स्थापित किया है।जावा विधि 1.5 में काम करती है लेकिन 1.6
नए सर्वर पर ऐप को तैनात करने के बाद हमने पाया है कि एप्लिकेशन कुछ एक्सएमएल को बदलने की कोशिश करते समय अपवाद फेंक रहा है। हम समझ नहीं पाए थे कि यह तब तक क्यों हो रहा था जब तक कि हम इसे स्थानीय रूप से तैनात नहीं करते थे और वही हुआ। एसडीके को v1.5 में बदलने के बाद समस्या बंद हो गई और एप्लिकेशन ठीक चला गया।
यहाँ विधि के स्रोत है:
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;
}
यह दुर्घटनाग्रस्त है "transformer.transform (स्रोत, परिणाम);" अपवाद के साथ लाइन:
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)
किसी को भी दो संस्करणों जो इस का कारण होता है के बीच जावा में किए गए बदलाव का पता है? सबसे आसान फिक्स क्या होगा?
आपकी मदद के लिए धन्यवाद।
ऐसा लगता है कि आपके क्लास पथ में कहीं भी एक विरोधाभासी ज़ेरेक्स कार्यान्वयन है। – akarnokd
आपके क्लासपाथ में क्या एक्सएमएल संबंधित जार हैं? – Yishai