2013-03-05 9 views
11

Mam trochę problemów ze zrozumieniem, w jaki sposób Solr pasuje do Jetty, i dlaczego nie mogę uzyskać start.jar w pakiecie dystrybucyjnym do pracy.Uruchamianie Solr z Jetty

Mogę uruchomić wszystkie przykładowe konfiguracje przez java -jar start.jar. Jednak, gdy próbuję uruchomić coś jak follwing -

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

- następujący błąd:

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) 

otworzyłem plik start.jar, a tam jest start.config plik znajdujący się wewnątrz słoika, który zakładam powinien obsługiwać tę konfigurację dla mnie. Nie rozumiem, dlaczego będzie działał po uruchomieniu z katalogu przykładów dystrybucji, ale nie poza nim.

+1

Nie trzeba konfigurować Mola podczas uruchamiania SOLR, wszystkie prace konfiguracyjne wykonywane są głównie w konfiguracji Solr. (solrconfig.xml).Pracujesz z Ubuntu/Debianem, zazwyczaj chodzi o zrobienie _apt-get install solr-jetty_ Następnie musisz zdefiniować swój schemat dla solr i stworzyć rdzeń. Aby uruchomić go, użyj skryptów startowych init pomostu. Nigdy nie dotykam start.jar –

Odpowiedz

0

Mola jest często używana jako pojemnik osadzony. Jeśli chcesz korzystać z pomostu, dobrym początkiem byłoby skopiowanie katalogu przykładowego i zmiana jego nazwy na pożądaną. Katalog solr jest katalogiem podstawowym.

W innym przypadku zaleca się użycie tomcat i pliku solr.war.

2

Start.jar to mechanizm specyficzny dla pomostu, który działa w celu zbudowania wszystkich wymagań dotyczących ścieżki startowej Jetty. Zasadniczo jest on stosowany wyłącznie w zakresie dystrybucji pomostu. Wyciągnięcie pliku start.jar z konfiguracji i umieszczenie go w innym miejscu powoduje, że domyślna konfiguracja pliku start.config jest raczej dyskusyjna.

Moje rozumienie Solr polega na tym, że łączy się z dystrybucją pomostu, umieszczając wszystko, co musi, aby uruchomić w dystrybucji i przepakowując je jako własne. Mogą mieć niestandardowy plik start.config, który dodatkowo dodaje własne lokalizacje dla zasobów klasy Clas i tym podobnych, lub nie.

Wyjątek, który widzisz, wynika z pliku start.config oczekującego pliku etc/zawierającego pliki xml sformatowane w formacie xml, które są używane do konfigurowania procesu pomostu.

Molo często używane w formie osadzonej ma niewiele wspólnego z tym problemem, jest to po prostu powszechny przypadek użycia, ponieważ pomost jest niezwykle łatwy do osadzenia w aplikacji. Osadzone instancje pomostu rzadko (jeśli w ogóle) wykorzystują start.jar ... zamiast tego do aplikacji do osadzania należy zarządzanie własną ścieżką klas.

4

Należy również zdefiniować właściwość jetty.home. Wypróbuj:

+0

Uratowałeś mi boczek! Dzięki Ryan! – chrislondon

1

Po pierwsze, trzeba zmienić folder, w którym znajduje się start.jar, a następnie wykonać tę samą komendę.