Eclipse:Maven検索の依存関係が機能しない


91

新しいワークスペースに新しいシンプルなMavenプロジェクトを作成しました。

pom.xmlDependenciesビューをEclipseエディターで開いてAdd..依存関係を選択すると、検索フィールドに入力した検索条件に関係なく、検索結果がありません。

それは、例えば、私に即座に与えますResults for 'spring' (0)

他のワークスペースでは、既存のプロジェクトではこの問題は発生しません。

それを修正する方法はありますか?


3
次のリンクに解決策があると思います:stackoverflow.com/questions/7065478/classic-error-unable-to-update-index-for-centralhttp-repo1-maven-org-maven2 [1]:stackoverflow.com/questions/ 7065478 /…
Eric Wang

回答:


187

Eclipseアーティファクト検索は、リポジトリのインデックスファイルに依存しています。インデックスファイルをダウンロードしなかったようです。

行く> Mavenの- > Prefrences -窓と確認し、「起動時にリポジトリインデックスの更新をダウンロードしてください」。Eclipseを再起動して、進行状況ビューを確認します。インデックスファイルをダウンロードする必要があります。

ダウンロードが完了すると、アーティファクト検索を使用できるようになります。

Maven設定

更新 また、 'maven repository view'でMavenリポジトリインデックスを再構築する必要があります。

このビューで、[グローバルリポジトリ]を開き、[central]を右クリックし、[フルインデックスを有効にする]をオンにして、同じメニューの[インデックスの再構築]をクリックします。

66Mのインデックスファイルがダウンロードされます。

Mavenリポジトリ->インデックスの再構築


4
ウィンドウ- > Preferences-> Mavenの
McLovin

5
再起動時のリポジトリの更新には非常に時間がかかります。それが完了するかどうかもわからない場合は、他の方法がありますか?
Vasanth Nag KV

5

日食で、Windows->設定-> Mavenに移動しMavenスクリーンショット 、「起動時にリポジトリインデックスの更新をダウンロードする」オプションにチェックを入れ ます。日食を再開することもできます。

また、Windows-> Show view-> Other-> Maven-> Maven repositoriesに移動します Maven Repository Viewスクリーンショット

[Mavenリポジトリ]パネルで、[グローバルリポジトリ]を展開し、[中央リポジトリ]を右クリックして[ フルインデックスが有効 ]オプションをオンにしてから、[ インデックスの再構築 ]をクリックします。

完全なインデックスのスクリーンショット


1
あなたの答えは、Xiujun Maによって以前に受け入れられた答えに何かをどのように追加しますか?それはあたかもその答えをコピーしたが、それを言い換えたようなものです。回答のスクリーンショットでさえ、承認された回答のスクリーンショットとほとんど同じです。
skomisa

@skomisa答えをまったくコピーしていません。私が実際にこの問題に直面したとき、私はこれに答えました。また、スクリーンプリントは私の作品です。回答のコピーと貼り付けは、stackoverflowでは意味がありません。そして、それをコピーして貼り付けるとすれば、今ではまだ答えていない何千もの質問に答えていただろう。
Hetal Rachh

1
はい、しかしあなたの答えは受け入れられた答えで提供された情報を繰り返すだけです。
skomisa

4

企業プロキシ内にいて、新しいプロジェクトがプロキシ認証情報で正しいsettings.xmlファイルをポイントしていない場合、この結果が得られます。

これは、Mavenプロキシ(Nexusなど)を使用していて、プロキシへのインデックスがなんらかの方法で乱れている場合にも取得できます。これを修正する方法を説明する方法がわかりません。それをいじり回すか、Mavenプロキシーをセットアップした人に電話してください。

新しいワークスペースがMavenセントラルまたはプロキシからインデックスをまだダウンロードしていない場合にも、これを取得できます。(しばらく待つだけでうまくいくので、これが最適です。)


実際、私は2つのワークスペースを(2つの異なるEclipseで)開いていますが、一方は機能し、もう一方は機能しないため、プロキシまたはインターネット接続の問題になることはありません。また、どちらのワークスペースにもsetting.xmlファイルはありません。ダウンロードしたインデックスについては正しいと思うかもしれませんが、ダウンロード方法がわかりません(昨日からこの問題が発生しているため、待つのは無駄です)
マジッドライシ

1
私はMyEclipseを使用しており、設定はユーザーの設定と異なる場合があります。しかし、ウィンドウ>設定> MyEclipse> Maven4MyEclipse>ユーザー設定でアクセスできるボタンがあります。ボタンには「再インデックス」というラベルが付いており、クリックすると役立つ場合があります。写真と詳細はこちら:(クリック)
Lee Meador

ところで、settings.xmlは、ユーザーフォルダーの.m2フォルダーにあるファイルです。(Windows 7はc:\ Users \ YourName \ .m2、Linuxは〜/ .m2です)、複数のワークスペースのグローバル情報を保持できます。同じ設定ページで選択できます。
Lee Meador

お時間をいただきありがとうございます。私は運なしでそれを試しましたが、Reindexは私のローカルのMavenリポジトリ(すでに持っているライブラリ)のみを再インデックスしますか?また、settings.xmlファイルの場合、どちらのワークスペースにも存在せず(Eclipse設定/ユーザー設定が参照C:\Users\XX\.m2\settings.xmlして言っていますUser settings file doesn't exist)、両方のワークスペースで同じであるため、重要ではないと思います。
Majid Laissi

情報http://maven.apache.org/settings.htmlファイルであるかについて。プロキシ、パスワード、および必要なすべてがMavenセントラルにない限り、プロキシがなくても問題ありません。
Lee Meador

4

私にとってこの問題は次のように機能しました:

  • 〜/ .m2を削除
  • セントラルリポジトリのMavenリポジトリビューで「フルインデックスが有効」を有効にする
  • 中央Mavenリポジトリーの「インデックスの再構築」

日食の再起動後、すべてがうまくいきました。


3

maven add依存関係は、実際にはmavenインデックスからのものです。インデックスが最新の場合、結果はそこから取得されます。

mavenリポジトリに移動してからグローバルリポジトリを選択すると、中央の...タブが表示され、それを選択すると、フォルダーのリストが表示され、そこからすべてのインデックスを表示できるはずです。そうでない場合、それは完全なインデックスを取得しなかったことを意味し、それを右クリックして完全なインデックスを有効にすることができます。

もう1つ私がいらいらしたのは、すべてを実行しても、「春」と入力しても何も表示されないことです。これは実際に私が間違ったところです。追加のテキスト「springframework」、BOOMを入力しただけの場合、結果はそこにあります。


1

私は同じ問題を抱えています。上記で提案されたオプションのどれも私にとってはうまくいきませんでした。ただし、org.springframework.spring-coreバージョン4.3.4.RELEASEのgroupid / artifact / versionを手動で追加してpom.xmlを保存すると、依存関係が自動的にダウンロードされ、すでに存在するjarが検索されます。リポジトリ内。ただし、現在の依存関係にないorg.springframework.spring-contextを検索すると、この検索はまだ機能しません。


0

クラス名を検索するには、接頭辞fc:を付けてhttps://search.maven.org/を手動で使用します。NetbeansとEclipseはどちらも愚かすぎてその検索インターフェースを使用できないようで、ダウンロードされたリポジトリインデックスのギガバイトにはクラス情報が含まれていないようです。ディスク領域の総無駄。それらのIDEプロジェクトは最近ひどく維持されているので、開発をGitHubに移してほしいと思います。


0

必要なjarファイルをダウンロードするには、グループIDとアーティファクトIDを提供する必要があります。検索する場合は、これらのフィールドに*、*を使用します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.