2009-06-19 7 views
7

Ho creato un progetto GWT utilizzando Eclipse che funzionava perfettamente (sono riuscito a eseguirlo sia in modalità ospitata che su Google App Engine) fino a quando non ho provato a importare lo Gears API for Google Web Toolkit. Dopo aver aggiunto la seguente riga al mio file sorgente Java:org.apache.xerces.jaxp.SAXParserFactoryImpl non trovato durante l'importazione dell'API Gears in GWT

import com.google.gwt.gears.client.geolocation.Geolocation; 

ricevo il seguente errore quando provo a compilare:

19-Jun-2009 3:36:09 AM com.google.apphosting.utils.jetty.JettyLogger warn 
WARNING: failed [email protected]682{/,C:\Documents and Settings\Geoff Denning\workspace\TaskPath\war} 
javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.SAXParserFactoryImpl not found 

ho già aggiunto il file di GWT-gears.jar alla mia \ guerra \ WEB-INF \ lib, e ho fatto riferimento in Eclipse come segue:

Java Build Path in Eclipse http://i41.tinypic.com/148klk4.png

ho anche aperto il file GWT-gears.jar e ha confermato che org/apache/x erces/jaxp/SAXParserFactoryImpl.class esiste. Qualcuno può darmi qualche indicazione sul motivo per cui sto ricevendo l'errore sopra riportato?

+1

quale versione di Java stai usando? Hai recentemente cambiato la versione dalla 1.4 alla 1.5? – Rahul

+0

Sto usando jre1.5.0_06. – Templar

risposta

5

Controllare che Xerces esiste in:

$JAVA_HOME/lib/endorsed 

Suona come un problema di Java 5. Controllare anche la proprietà di sistema Java per:

javax.xml.parsers.SAXParserFactory 

Dovrebbe essere:

org.apache.xerces.jaxp.SAXParserFactoryImpl 

Se poi questo è il problema, assicurarsi di impostare la proprietà di sistema.

1

Questo è successo a me. Ho avuto conflitti JAR nel mio spazio di lavoro. Ho rimosso uno e boom ha funzionato. Il messaggio non ha prestato molto bene alla radice dell'errore.

+0

Nel mio caso, dopo giorni di lotta con lo stesso identico problema, ho trovato una classe 'SAXParserFactoryImpl' in un' xercesImpl-2.8.1.jar' in una delle mie librerie di utilizzo. Ho appena dovuto copiare questo jar nel WEB-INF/lib e aggiungerlo a .settings \ com.google.appengine.eclipse.core.prefs Ora funziona come un incantesimo. – eskalera

1

My Il problema SAXParserFactoryImpl è stato causato da gwt-gadgets.jar che avevo nel mio percorso di classe di avvio. La rimozione di questo JAR dal percorso della classe di avvio ha risolto il problema per me. Fondamentalmente è necessario rimuovere qualsiasi JAR contenente una classe SAXParserFactoryImpl dal percorso di build (librerie utente).

0

Rimuovere $ JAVA_HOME/jre/lib/jaxp.properties risolto il problema.