Sto sviluppando un'applicazione GWT in Eclipse e utilizzo jdom2 per leggere alcuni file di proprietà xml personalizzati.ClassCastException: impossibile eseguire il cast di org.apache.xerces.parsers.XIncludeAwareParserConfiguration su org.apache.xerces.xni.parser.XMLParserConfiguration
In seguito a un recente aggiornamento, la mia applicazione ora non riesce con l'errore sopra riportato quando si tenta di leggere il file xml. L'analisi dello stack rilevante è:
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)
occupando del problema suggerisce che l'errore può sorgere quando esistono versioni incompatibili delle Xerces vasi nel classpath.
gwt-dev-2.6.1.jar contiene i pacchetti xerces e la mia impressione è che questa ultima versione di gwt-dev ha fornito in bundle una versione che è incompatibile. Tuttavia, jdom2.0.5, la versione corrente, viene rilasciato con la versione 2.11 di Xerces che sembra essere l'ultima rilasciata da Apache. Mettere questi vasi sul mio percorso di classe non sembra risolvere i problemi; In precedenza ho potuto fare affidamento sulle versioni di gwt-dev.
Sono piuttosto ottimista riguardo questo e notevolmente fuori dalla mia zona di comfort.
Provare a rimuovere GWT dal progetto, quindi aggiungerlo di nuovo. Inoltre, assicurati di non avere giare duplicati (vecchi e nuovi) nella tua cartella WEB-INF/lib. –