2012-08-05 39 views
6

Quando ho aggiunto questa configurazione in solrconfig.xml:Eccezione: Impossibile trovare la classe SolrCoreAware

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> 
    <lst name="defaults"> 
     <str name="config">data-config.xml</str> 
    </lst> 
</requestHandler> 

poi ha iniziato Tomcat, ho ottenuto questa eccezione:

ClassNotFoundException: org.apache.solr.util.plugin.SolrCoreAware 

ho controllato il dir

<lib dir="../../dist/" regex="apache-solr-dataimporthandler-\d.*\.jar" /> 

barattolo importato, cosa c'è che non va? cosa significa attributo dir del nodo lib?

+0

la classe SolrCoreAware viene utilizzato all'interno di Solr sé, quindi il vaso che lo contiene deve essere già incluso nel file 'solr.war', all'interno della WEB-INF cartella'/lib'. Hai modificato il 'solr.war' per qualche motivo? Quale versione di Solr stai correndo? – javanna

+0

@ javanna, grazie per il tuo aiuto, ho dimenticato di aggiungere "solr-importdata.jar" in solr/WEB-INF/lib, ma l'ho aggiunto a tomcat lib, ma non posso trovarlo, quindi l'eccezione si verifica. –

+0

Questo è ancora meglio, hai avuto quei vasi in caricatori di diverse classi. Il DIH non poteva vedere solr e solr non poteva vedere il dih credo. Sono contento che tu abbia risolto. – javanna

risposta

4

Conversione commento di OP in una risposta come (a) è più facile da individuare e (b) ha funzionato per me:

Fare attenzione a non mettere solr-dataimporthandler-x.y.z.jar in

Tomcat\lib        <- Doesn't work! 

Invece assicurarsi che sia messo in :

Tomcat\webapps\solr\WEB-INF\lib   <- Works. 
Problemi correlati