Maven是Solrj的建議構建技術,因爲它可以自動管理第三方依賴關係。如果沒有依賴管理,破譯這些關係是一件極其痛苦的事情(Jar hell)。
我可以建議的是使用常春藤,它有一個command-line mode。
首先下載常春藤罐子
檢索以下的Maven模塊和所有它的依賴:
<dependency>
<artifactId>solr-solrj</artifactId>
<groupId>org.apache.solr</groupId>
<version>1.4.0</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
然後運行它,如下所示:
java -jar ivy.jar \
-dependency org.apache.solr solr-solrj 1.4.0 \
-retrieve "lib/[artifact]-[revision](-[classifier]).[ext]" \
-confs default
檢索到lib目錄:
lib/commons-httpclient-3.1.jar
lib/wstx-asl-3.2.7.jar
lib/slf4j-api-1.5.5.jar
lib/commons-codec-1.3.jar
lib/stax-api-1.0.1.jar
lib/geronimo-stax-api_1.0_spec-1.0.1.jar
lib/commons-logging-1.0.4.jar
lib/solr-solrj-1.4.0.jar
lib/commons-io-1.4.jar
lib/commons-fileupload-1.2.1.jar
更新
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/HttpRequestInterceptor
這是由於缺少httpcore.jar文件。我發現了這一點,通過瀏覽Maven的中央:
上使用「SLF4J-簡單」的建議是提供情況的應用程序沒有一個日誌實現。
終於...這說明了我試圖說的。在沒有依賴管理工具(ivy,groovy,Maven)的情況下,您可以獨自解密第三方jar依賴項。
你是什麼意思你安裝了庫和罐子**除了** Maven?你在使用Maven嗎? –
設置Maven構建的另一種方法是使用Groovy。它還能夠使用Grape「Grab」註釋自動下拉它的依賴關係。請參閱:http://stackoverflow.com/questions/8839331/parse-solr-xml-files-to-solrinputdocument/8888386#8888386 –
@ MarkO'Connor不,我不使用maven – Bourkadi