Korzystanie ze starszej wersji Xerces lub Xalan
Jeśli używana jest starsza wersja Xerces (przed wersją 2.0) lub Xalan (przed 2.3) w przesłonięciu potwierdzonym, podczas uruchamiania aplikacji może być NullPointerException . Ten wyjątek występuje, ponieważ te starsze wersje nie obsługują poprawnie pliku jaxp.properties .
Aby uniknąć tej sytuacji, należy użyć jednego z następujących obejść:
- Zaktualizuj do nowszej wersji aplikacji, która implementuje najnowszą specyfikację języka Java™ API for XML Programming (JAXP) (https://jaxp.dev.java.net/).
- Usuń plik jaxp.properties .
- W systemie AIX®skopiuj plik jaxp.properties.sample do katalogu jaxp.properties w programie /etc/java8[_64]/jre/lib. Usuń znaki komentarza z pozycji w pliku jaxp.properties . Utwórz dowiązanie symboliczne do pliku jaxp.properties z katalogu /etc/java8[_64]/jre/lib .
- Ustaw właściwość systemową dla javax.xml.parsers.SAXParserFactory, javax.xml.parsers.DocumentBuilderFactorylub javax.xml.transform.TransformerFactory , używając opcji wiersza komend -D .
- Ustaw właściwość systemową dla aplikacji javax.xml.parsers.SAXParserFactory, javax.xml.parsers.DocumentBuilderFactorylub javax.xml.transform.TransformerFactory w aplikacji. Przykład można znaleźć w specyfikacji JAXP 1.6 .
- Jawnie ustaw analizator składni SAX, program budujący dokumenty lub fabrykę Transformer za pomocą zmiennej środowiskowej IBM_JAVA_OPTIONS lub OPENJ9_JAVA_OPTIONS . Na przykład w systemie UNIX:
syspleksuexport IBM_JAVA_OPTIONS=-Djavax.xml.parsers.SAXParserFactory= org.apache.xerces.jaxp.SAXParserFactoryImpl
syspleksuexport IBM_JAVA_OPTIONS=-Djavax.xml.parsers.DocumentBuilderFactory= org.apache.xerces.jaxp.DocumentBuilderFactoryImpl
W systemie Windows należy użyć komendy set zamiast export.export IBM_JAVA_OPTIONS=-Djavax.xml.transform.TransformerFactory= org.apache.xalan.processor.TransformerFactoryImplUwaga:
Zmienna środowiskowa IBM_JAVA_OPTIONS jest nieaktualna i zastąpiona przez zmienną środowiskową OPENJ9_JAVA_OPTIONS .
Uwaga: Implementacja IBM XML jest nieaktualna w pakiecie IBM® SDK, Java Technology Edition, wersja 8 i zostanie zastąpiona implementacją Oracle XML w przyszłej wersji.