3

私は現在、Git を介して最新のトランク バージョンの Solr をプルし、ant を介してビルドする ant でビルドされているプロジェクトを持っています。この時点で、私は Maven とその依存関係のシステムにかなり慣れてきました。そうは言っても、基本的に私がオンラインで見ているように見えるところならどこでも、人々はAntでsolrを構築しており、Mavenで何かをするために私が見つけたいくつかのチュートリアルはすべてthis oneのラインに沿っていますが、うまくいかないようです.

したがって、明確にするために、ここで探しているのは、Eclipse でプロジェクトを開発し、それをデプロイできるクリーンな方法だけです。誰かが以前にこれを行ったことがあり、良い答えが必要だと確信しています。私はそれを聞くことに非常に興味があります。

4

3 に答える 3

3

すべての依存関係を Maven に投入し、Solr 4.0-SNAPSHOT の固定バージョン用に独自のレポを作成し、そこから web.xml を src/main/webapp/WEB-INF/ にコピーし、mvn を介して実行することで、機能するようになりました。 jetty:run は、次のように引数として渡された顕著な変数を使用して実行されます。

mvn jetty:run -Dsolr.dataDir="./solr-data" -Dsolr.master-host="localhost" -Dsolr.solr.home="./solr-home"

この方法は公式にはサポートされていませんが、醜い ant 構成に煩わされたり、プロジェクトに添付された git リポジトリーに Lucene と Solr のすべてを保持したりする必要がなくなったため、それらからビルドすることができました。また、バージョンの変更/更新には、大量の無関係な構成を掘り下げて切り替えるのではなく、pom.xml を 1 行変更するだけでよいことも意味します。私はかなり満足しています.Solrがどのように機能するかについてより良い感触を得た後、プロジェクトを再構成することはそれほど悪くはありませんでした.

于 2012-04-12T15:45:58.980 に答える
2

この回答はおそらくコメントですが、コメントは小さすぎてすべてを公開できません。

私は Solr について何も知りませんが、中立的な観点から、次の 2 つの選択肢があると思います。

  1. Mavenize Solr (記事で提案されているように見えます)。たぶん、彼らのソリューションを使用して遭遇した問題について別の質問を投稿できます.
  2. maven-antrun-plugin を使用して元の ant タスクを呼び出します。これにはおそらく、ビルドされた jar をアタッチする必要があります (または、クラス/リソースのみが含まれている場合は、最初にそれらを jar します)。maven-install-plugin を使用してローカルにインストールするか、maven-build-helper-plugin でアタッチするかを決定できます。

Eclipse では、ビルドされたファイルにアクセスするためのトリックがたくさんあります。プロジェクトを依存関係として追加するだけです。

この2番目のオプションは機能するはずですが、あまりきれいではありません

于 2012-04-10T22:01:29.217 に答える
2

必要に応じて Maven を使用できるはずです。一部の Solr 開発者はそうしています。http://wiki.apache.org/solr/HowToContribute#Mavenをご覧ください。ただし、これは最もサポートされている方法ではありません。試したことがないので、これについてはお手伝いできません。

私は実際にSolr + Antを使用していますが、基本的にすべてのタスクがあります:ant testなどant dist。私はそれが少し古風であることに同意しますが、うまくいきます。最近、ビルドが大幅に改善され、依存関係管理ツールとして Ivy が導入され、ソース ツリーからすべての jar が削除されました。

ant に特定の問題がある場合はお知らせください。もっとお役に立てるかもしれません。

于 2012-04-11T07:30:01.660 に答える