2013-03-05 2 views
11

Solr이 Jetty와 어울리는 지 이해하는 데 약간의 문제가 있습니다. 왜 배포 패키지에서 start.jar 파일을 사용할 수 없는지 알 수 없습니다.부두에서 Solr 실행

java -jar start.jar을 통해 모든 구성 예제를 실행할 수 있습니다.

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

- - 나는 follwing을 같은 것을 실행하려고 할 때, 다음과 같은 오류가 발생합니다

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가 jar 파일 안에있는 파일은 나를 위해이 설정을 처리해야한다고 가정합니다. 배포 예제 디렉토리의 내부에서 실행될 때 작동하는 이유는 알 수 없지만 외부에서는 실행되지 않습니다.

+1

SOLR을 실행할 때 Jetty를 구성 할 필요가 거의 없으며 모든 구성 작업은 대부분 solr 설정에서 수행됩니다. (solrconfig.xml).나는 우분투/debian을 사용하여 일을하게된다. 일반적으로 _apt-get install solr-jetty_를 수행한다. 그런 다음 solr을위한 스키마를 정의하고 핵심을 만들어야한다. Jetty init 시작 스크립트를 사용하여 시작할 수 있습니다. 나는 결코 시작에 손을 대지 않는다. –

답변

0

부두는 종종 내장 된 컨테이너로 사용됩니다. 부두를 사용하고 싶다면 예제 디렉토리를 복사하고 원하는 이름으로 바꿔주는 것이 좋습니다. solr 디렉토리는 기본 구성 용 디렉토리입니다.

그렇지 않으면 tomcat 및 solr.war 파일을 사용하는 것이 좋습니다.

2

start.jar은 Jetty를 시작하기위한 모든 classpath 요구 사항을 빌드하는 데 사용되는 jetty 특정 메커니즘입니다. 일반적으로 부두 배급의 범위에서만 사용됩니다. 구성에서 start.jar를 가져 와서 다른 곳에 배치하면 start.config의 기본 구성이 다소 잘못 렌더링됩니다.

Solr에 대한 제 이해는 그것이 부두의 배포판과 함께 번들되어 배포에 필요한 것을 배치하고 자체적으로 재 포장한다는 것입니다. 클래스 경로 리소스 등을위한 자체 위치를 추가하는 맞춤 start.config 파일이있을 수 있습니다.

예외는 jetty 프로세스를 구성하는 데 사용되는 jetty.xml 형식의 xml 파일을 포함하는 etc/디렉토리를 예상하는 start.config 파일 때문입니다.

임베디드 형식으로 자주 사용되는 부두는이 문제와 관련이 거의 없으며 부두는 응용 프로그램에 임베드하기가 쉽기 때문에 일반적인 사용 사례입니다. 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

1

먼저, 다음, start.jar가 위치한 폴더를 변경 같은 명령을 실행해야합니다.

관련 문제