2009-07-24 6 views
8

新しく新しいワークスペースから開始するたびに、m2eclipseはmavenセントラルリポジトリからnexus-maven-repository-index.gzをダウンロードします。 これは良いことです。 しかし、 何度か、私はちょうど新しいワークスペースを開始し、それをダウンロードするのを待たずに、 古いワークスペースから新しいワークスペースへの全体の.metadataディレクトリをコピーしようとしましたが、mavenアーチファクトのリストはまだ空です。 私はそれをキャッシュする方法はありますか? 、または少なくともファイルを一度ダウンロードし、m2eclipseがそれをダウンロードしたと思うようにコピー/抽出/再パッケージングを行い、mavenアーティファクトを検索できるようにします。m2eclipseでリポジトリインデックスをキャッシュする

または短い形式の質問 ワークスペースに格納されている "nexus-maven-repository-index.gz"ファイルはどこにありますか?

答えて

8

インデックスが使用され、各リモートリポジトリインデックスのための1つのフォルダがありますすなわち

[workspace root]/.metadata/.plugins/org.maven.ide.eclipse/nexus 

、プラグインのメタデータ位置に格納されています。

起動時にインデックスをダウンロードしないようにプラグインを設定することもできます。 > Preferences-> Mavenを[ウィンドウと起動でダウンロードリポジトリインデックスをオフにするようになった、あなたは

更新かかわらず、すべての更新プログラムを入手するためにそれを再活性化するために覚えておく必要があります: 私は、メタデータの作品をコピーしていることを確認。 M2Eclipse は、上記のオプションがチェックされていると仮定して、デルタをダウンロードするリポジトリに依然として連絡しますが、デルタをダウンロードするだけなので、少し時間がかかります。

1

状況に応じて、artifactoryやnexusなどの管理リポジトリを実行してみてください。

これをmavenのすべての真のソースとして設定します。つまり、最初のダウンロードはローカルロケーションからのもので、高速です。

1

私の会社にも同様の問題があります。ネットワーク/セキュリティ上の制限により、m2eclipseではインデックスファイルをダウンロードできません。

maven.orgにインデックスを提供するためにmaven.orgに自分のlocalhostを誘導するために、apacheを使用しようとしました(これはうまくいくはずです)。しかし、ネットワークの制限により、ローカルPCレベルの解像度が無効になります。

最後の解決策は、タイムスタンプファイルを除いて、このzip内のすべてを抽出し、すべてを抽出して、セントラルリポジトリの対応するインデックスフォルダに置き換えます。

これは機能します。 :-D