Я разрабатываю приложение GWT в Eclipse и использую jdom2 для чтения некоторых пользовательских файлов свойств xml.
После недавнего обновления мое приложение теперь дает сбой с вышеуказанной ошибкой при попытке прочитать файл xml. Соответствующая трассировка стека:
org.apache.xerces.parsers.XIncludeAwareParserConfiguration cannot be cast to org.apache.xerces.xni.parser.XMLParserConfiguration
org.apache.xerces.parsers.SAXParser.<init>(Unknown Source)
org.apache.xerces.parsers.SAXParser.<init>(Unknown Source)
org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.<init>(Unknown Source)
org.apache.xerces.jaxp.SAXParserImpl.<init>(Unknown Source)
org.apache.xerces.jaxp.SAXParserFactoryImpl.newSAXParser(Unknown Source)
org.jdom2.input.sax.XMLReaders.createXMLReader(XMLReaders.java:165)
org.jdom2.input.SAXBuilder.createParser(SAXBuilder.java:871)
org.jdom2.input.SAXBuilder.buildEngine(SAXBuilder.java:854)
org.jdom2.input.SAXBuilder.getEngine(SAXBuilder.java:904)
org.jdom2.input.SAXBuilder.build(SAXBuilder.java:1116)
uk.co.platosys.db.jdbc.DatabaseProperties.loadProperties(DatabaseProperties.java:78)
Исследование этой проблемы предполагает, что ошибка может возникать, когда в пути к классам существуют несовместимые версии банок xerces.
gwt-dev-2.6.1.jar содержит пакеты xerces, и я подозреваю, что эта последняя версия gwt-dev содержит несовместимую версию. Однако текущая версия jdom2.0.5 выпущена с версией Xerces 2.11, которая, по-видимому, является последней, выпущенной Apache. Помещение этих банок в мой путь к классам, похоже, не решает проблемы; Раньше я мог полагаться на версии в gwt-dev.
Я довольно в своем уме об этом и значительно вне моей зоны комфорта.