2013-03-05 4 views
11

Ho difficoltà a capire come Solr si integri con Jetty e perché non riesco a far funzionare il pacchetto start.jar nel pacchetto di distribuzione.Esecuzione di Solr con Jetty

Posso eseguire tutte le configurazioni di esempio tramite java -jar start.jar. Tuttavia, quando si tenta di eseguire qualcosa di simile alla follwing -

java -Dsolr.solr.home=/Users/jwwest/solr -jar $(brew --prefix solr)/libexec/example/start.jar 

- verifica il seguente errore:

java.io.FileNotFoundException: No XML configuration files specified in start.config or command line. 
    at org.eclipse.jetty.start.Main.start(Main.java:506) 
    at org.eclipse.jetty.start.Main.main(Main.java:95) 

ho aperto il file start.jar, e c'è uno start.config file che si trova all'interno del jar che presumo dovrebbe gestire questa configurazione per me. Non capisco perché funzionerà quando viene eseguito all'interno della directory degli esempi di distribuzione, ma non al di fuori di esso.

+1

Non è necessario configurare il Jetty quando si esegue SOLR, tutto il lavoro di configurazione viene eseguito principalmente nella configurazione di solr. (Solrconfig.xml).Mi capita di lavorare con Ubuntu/Debian, di solito si tratta di fare _apt-get install solr-jetty_ Quindi è necessario definire lo schema per solr e creare un core. Dovresti usare gli script di avvio di jetty init per avviarlo. Non tocco mai start.jar –

risposta

0

Il molo viene spesso utilizzato come contenitore incorporato. Se vuoi usare il jetty, allora un buon inizio sarebbe copiare la directory di esempio e rinominarla in quello che vuoi che sia. La directory solr è quella per la configurazione di base.

Altrimenti si consiglia di utilizzare tomcat e il file solr.war.

2

start.jar è un meccanismo specifico del molo che lavora per costruire tutti i requisiti del percorso di classe per l'avvio di Jetty. Generalmente viene utilizzato solo nell'ambito della distribuzione pontile. Tirando il file start.jar fuori dalla configurazione e posizionandolo da qualche altra parte, viene visualizzata la configurazione predefinita di start.config.

La mia comprensione di Solr è che si radica con una distribuzione di pontile, posizionando ciò che è necessario per eseguire nella distribuzione e la riconfeziona come propria. Possono avere un file start.config personalizzato che aggiunge ulteriormente le proprie posizioni per le risorse del classpath e simili, oppure no.

L'eccezione che si vede deriva dal file start.config in attesa di una directory etc/contenente i file xml in formato jetty.xml che vengono utilizzati per configurare il processo del jetty.

Il jetty che viene spesso utilizzato in un formato incorporato ha poco a che fare con questo problema, è semplicemente un caso di uso comune perché il jetty è incredibilmente facile da integrare in un'applicazione. Le istanze incorporate di jetty raramente (se mai) sfruttano un file start.jar ... invece è compito dell'applicazione di incorporamento gestire il proprio percorso di classe.

4

È inoltre necessario definire la proprietà jetty.home. Prova:

+0

Hai salvato il mio bacon! Grazie, Ryan! – chrislondon

1

In primo luogo, è necessario modificare la cartella in cui si trova start.jar, quindi eseguire lo stesso comando.