Maven は、サード パーティの依存関係の管理を自動化するため、 Solrjの推奨ビルド テクノロジです。依存関係の管理がなければ、これらの関係を解読するのは至難の業です ( Jar hell )。
私が提案できるのは、コマンド ライン モードを備えた ivy を使用することです。
最初に ivy jar をダウンロードします
次の 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 Centralをブラウズしてこれを見つけました:
「slf4j-simple」を使用する際の推奨事項は、アプリケーションにロギングの実装がない場合に備えて、ロギングの実装を提供することです。
最後に... これは私が言おうとしたことを示しています。依存関係管理ツール ( ivy、groovy、Maven ) がない場合、サードパーティの jar 依存関係を自分で解読する必要があります。