Intellij IDEAにすべてのMaven依存関係を再読み取りさせる


297

intellijのアイデアに、pomファイルで指定されたすべての依存関係を再読み取り/更新するように強制する方法は?

回答:


354

Ctrl+ Shift+ Aを押してアクションを見つけ、「再インポート」と入力すると、「すべてのMavenプロジェクトの再インポート」が見つかります。

Macでは、代わりに+ +をA使用してください。


1
1つのプロジェクトに5つのモジュールがあり、そのすべてがMavenベースであるとします。このコマンドはすべてのモジュールに適用されますか、それとも選択されたモジュールのみに適用されますか、それとも実行時にプロジェクトの最初のモジュールに適用されますか?
slartibartfast 2015

これは変わりましたか?2017.1でMavenの再インポートが表示されない
Winnemucca

1
@Winnemucca私は2017.2にそれをやった。それが完了するのを待っています。
mrClean 2017

1
これを行うには、Mavenプラグインを有効にする必要がありました。
codefreak、2018

1
@Winnemuccaは、pomを右クリックして、ドロップダウンからMavenに移動し、[再インポート]を選択できます。
ジョーンズクリス・

125

「Maven Projects」タブ/ウィンドウを開き、左上隅の「Reimport All Maven Projects」をクリックすると、リポジトリからすべての依存関係が再ロードされます。ステータスバーはプロセスについて通知します。

これが正しく機能していないと思うのはなぜですか?たぶん、リポジトリからロードできない依存関係がありますか?


1
進行中の開発に非スナップショットバージョンを使用するという習慣が壊れており、プロジェクト間の依存関係が失敗することがあります。
kubek2k

1
この問題はMavenに依存していると思います。MavenはSNAPSHOTの更新のみをチェックします。定義によれば、SNAPSHOT以外のバージョンは決して変更されないため、ローカルリポジトリでこれよりも新しいバージョンをMavenがチェックする必要はありません。(かなり失礼な)解決策は、mavenを呼び出す前にライブラリをローカルリポジトリから削除することです。次に、ライブラリをリロードする必要があります。
magomi

9
再インポートはすべて-Uフラグを強制して、私が望んでいたものと思われるようです:)
kubek2k

私は親プロジェクトを右クリックしてMaven-> Reimportを実行していて、すべての子の依存関係が更新されることを期待していましたが、そうではありませんでした。解決策をありがとう!
ボッチニアク2014年

6
「Maven Projects」タブ/ウィンドウを見つけるには、View> Tool Windows> Maven Projects
Kevin Wheeler

64

バージョン番号が変更されていなくても、依存関係の新しいバージョンをチェックするようIntelliJに指示する便利な設定も1つあります。ローカルのMavenリポジトリと、数回更新されたスナップショットプロジェクトがありましたが、バージョン番号は同じでした。問題は、バージョン番号が修正されているため、IntelliJ / Mavenがこのプロジェクトを更新しないことでした。

バージョン番号が変更されていないにもかかわらず変更された依存関係のチェックを有効にするには、[Maven Projects]タブに移動し、[Maven settings]を選択して、[Always update snapshots]をアクティブにします。


2
ハ!JAVAプロジェクトの自動更新...これは常に勝者とは限らないと言っておく必要があります... Maven 3以上で眉をひそめられるかもしれません
beauXjames

@beauXjames ..これは私にはうまくいきませんでしたが、私はまったく同じ問題に直面しています。これを解決する方法。
Sathesh 16

1
私はよくローカルリポジトリ({user} \。m2 \ ...)ディレクトリに移動し、プロジェクトに関連付けられていることがわかっているものを削除してから、インストールプロセスを実行して最初から再度フェッチし、バージョンの競合がないようにします
beauXjames

From help: "IntelliJ IDEAで同期時にスナップショットを更新する場合は、このチェックボックスを選択します。" つまり、完全に自動化されているわけではありません- Synchronize(右クリックメニューまたはでCtrl-Alt-Y)実行する必要がありますが、このオプションを有効にすると、更新されたSNAPSHOTバージョンが取得されます。警告:他の微妙な点が含まれている可能性がありますImport Changes-これまでのところ、これは完全に再現可能ではないようです。多分それは私の想像の中にあったかもしれません-いつもうまくいくように見えるreimportことは他の答えで示唆されているようにいっぱいです。
nobar '25

36

IntelliJ IDEA 14.0の場合

プロジェクト> [プロジェクト名]>右クリック> Maven>再インポート


17

再インポートが機能しない場合(つまり、pomの更新後に依存関係の古いバージョンが削除されない場合)、もう1つの可能性があります。

  • プロジェクト設定を開く(CTRL + SHIFT + ALT + S)
  • モジュールで、再インポートするすべてのライブラリを削除します(重複など)。
  • IDEAは一部がまだ使用されていることを警告します、確認してください
  • 適用して[OK]を選択します
  • 次に、すべてのMavenプロジェクトを再インポートします。


9

このコマンドを実行する mvn -U clean install


3
これは解決策ですが、CLIから実行する必要があります。問題はIDEAの内部からそれを行うことです。
talonx

IDEでは、CLIまたはターミナルを開かずにMavenゴールを実行して上記のコマンドを使用できます
Babajide Apata

2
そのようなことは、IDEAにMavenを統合する目的を打ち破ります。
talonx

1
ここでは、IDEAにはない-Uオプションについて説明します。「再インポート」オプションはそのように聞こえますが、そうではありません。
talonx

1
Mavenゴールの入力と実行について言及しているようですが、その場合は可能です。しかし、私は-Uが右側の組み込みメニューに存在しないことを言及していました( "Maven Projects")。
talonx

3

IntelliJがクラスをコンパイルできず、プロジェクト間の依存関係が欠落していると主張して問題が発生しました。この質問の回答で提案されているようにプロジェクトを再インポートしても問題は解決しませんでした。私にとっての解決策は、

  1. すべてのプロジェクトを削除します(プロジェクトタブ/ルートフォルダーを右クリック/ maven /プロジェクトを削除);
  2. エディターを閉じます。
  3. コマンドラインでmavenを使用してすべてのプロジェクトをコンパイルします。
  4. 同じプロジェクトでエディターを開きます。
  5. プロジェクトを再度mavenに追加します(mavenタブ/ mavenプロジェクトを追加(緑+)/ルートpomを選択);

警告:一部のプロジェクトでは、Mavenインポートの最大メモリを増やす必要がある場合があります(MavenタブのMaven設定/インポート/インポーターのVMオプション)。



0

依存関係のバージョン範囲を使用している場合は、IntelliJがプロジェクトのインポートにMaven 3を使用していることを確認してください。この設定は次の場所にありSettings > Maven > Importing > Use Maven3 to import projectます。そうしないと、SNAPSHOTバージョンが正しくインポートされないことがあります。

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