2013-03-05 70 views
11

我對理解Solr如何適應Jetty有點麻煩,爲什麼我似乎無法使分發包中的start.jar工作。用Jetty運行Solr

我可以通過java -jar start.jar運行所有的示例配置。然而,當我嘗試運行類似的follwing -

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

- 在出現下列錯誤:

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) 

我打開了start.jar文件,並有一個start.config文件位於罐子裏,我假設應該爲我處理這個配置。我不理解爲什麼它將從分佈式示例目錄內運行,但不在其外部。

+1

在運行SOLR時,幾乎不需要配置Jetty,所有配置工作主要在solr設置中完成。 (solrconfig.xml中)。我碰巧與ubuntu/debian一起工​​作,通常是通過做_apt-get install solr-jetty_然後你需要爲solr定義你的模式並創建一個核心。您將使用jetty init啓動腳本啓動它。我從不碰start.jar – 2013-04-22 19:53:51

回答

0

碼頭通常用作嵌入式容器。如果你想使用碼頭,那麼一個好的開始就是複製示例目錄並將其重命名爲你想要的。 solr目錄是用於基本配置的目錄。

否則建議使用tomcat和solr.war文件。

2

的start.jar是,致力於打造出了所有用於啓動碼頭classpath中要求碼頭具體機制。它通常只用於碼頭分配的範圍。將start.jar拉出配置並將其放置在其他位置會使start.config的默認配置更加模糊。

我的Solr的理解是,它捆綁了自己與碼頭的分佈,將它所需要碰上分配和重新包裝作爲自己。他們可能有一個自定義的start.config文件,它可以進一步爲classpath資源等添加自己的位置。

你seeings唯一的例外來自start.config文件預計其用於配置碼頭過程中的等/含目錄的jetty.xml格式的XML文件造成的。

碼頭被經常在嵌入式格式使用有一點做這個問題,它只是一個普通的用例,因爲碼頭是非常容易嵌入到應用程序。嵌入的jetty實例很少(如果有的話)利用start.jar ...,而是由嵌入式應用程序來管理自己的類路徑。

4

您還需要定義jetty.home財產。請嘗試:

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

你保存了我的培根!謝謝瑞恩! – chrislondon 2014-01-23 23:05:03

1

首先,你需要改變你的文件夾,start.jar的位置,然後執行相同的命令。