Ältere Version von Xerces oder Xalan verwenden
Wenn Sie eine ältere Version von Xerces (vor 2.0) oder Xalan (vor 2.3) in der unterstützten Überschreibung verwenden, erhalten Sie möglicherweise eine NullPointerException , wenn Sie Ihre Anwendung starten. Diese Ausnahmebedingung tritt auf, da bei älteren Versionen die Datei jaxp.properties nicht ordnungsgemäß verarbeitet werden kann.
Gehen Sie wie folgt vor, um diesen Fehler zu umgehen:
- Führen Sie ein Upgrade auf eine neuere Version der Anwendung durch, die die neueste JAXP-Spezifikation (Java™ API for XML Programming) implementiert (https://jaxp.dev.java.net/).
- Entfernen Sie die Datei jaxp.properties .
- Kopieren Sie unter AIX®die Datei jaxp.properties.sample in das Verzeichnis jaxp.properties in /etc/java8[_64]/jre/lib. Entfernen Sie die Kommentarzeichen in der Datei jaxp.properties. Erstellen Sie vom Verzeichnis /etc/java8[_64]/jre/lib einen symbolischen Link zur Datei jaxp.properties.
- Legen Sie die Systemeigenschaft für javax.xml.parsers.SAXParserFactory, javax.xml.parsers.DocumentBuilderFactory oder javax.xml.transform.TransformerFactory mithilfe der Befehlszeilenoption -D fest.
- Legen Sie in Ihrer Anwendung die Systemeigenschaft javax.xml.parsers.SAXParserFactory, javax.xml.parsers.DocumentBuilderFactory oder javax.xml.transform.TransformerFactory fest. Ein Beispiel finden Sie in der JAXP 1.6-Spezifikation.
- Legen Sie den SAX-Parser, den Document Builder oder die Transformer-Factory explizit mit der Umgebungsvariablen IBM_JAVA_OPTIONS oder OPENJ9_JAVA_OPTIONS fest. Beispiel auf einem UNIX-basierten System:
oderexport IBM_JAVA_OPTIONS=-Djavax.xml.parsers.SAXParserFactory= org.apache.xerces.jaxp.SAXParserFactoryImpl
oderexport IBM_JAVA_OPTIONS=-Djavax.xml.parsers.DocumentBuilderFactory= org.apache.xerces.jaxp.DocumentBuilderFactoryImpl
Verwenden Sie unter Windows den Befehl set anstelle von export.export IBM_JAVA_OPTIONS=-Djavax.xml.transform.TransformerFactory= org.apache.xalan.processor.TransformerFactoryImplHinweis:
Die Umgebungsvariable IBM_JAVA_OPTIONS ist veraltet und wird durch die Umgebungsvariable OPENJ9_JAVA_OPTIONS ersetzt.
Hinweis: Die XML-Implementierung IBM wird in IBM® SDK, Java Technology Edition Version 8 nicht mehr verwendet und wird in einem zukünftigen Release durch die XML-Implementierung Oracle ersetzt.