159

私は依存関係Xを持つプロジェクトに取り組んでいます。XはYに依存しています。

以前は、プロジェクトのpomにYを明示的に含めていました。ただし、これは使用されておらず、物事をよりクリーンにするために、代わりに依存関係としてXのpomに追加しました。Xはリリース依存関係としてマークされています。

問題は、プロジェクトのpomからYを削除し、それをXのpomに追加した後、プロジェクトがYを取得しないことmvn -U clean packageです。-Uはスナップショットを更新しますが、リリースは更新しません。

では、〜/ .m2 / repositoryディレクトリを削除せずに、Xのpomの再ダウンロードを強制するにはどうすればよいですか?また、走っdependency:purge-local-repositoryてみましたが、うまくいきませんでした。

4

13 に答える 13

203

Mavenに依存関係を再ダウンロードさせることはできませんが、代わりに、を使用して誤ってダウンロードされた依存関係を削除することができます。mvn dependency:purge-local-repository

参照: http: //maven.apache.org/plugins/maven-dependency-plugin/purge-local-repository-mojo.html

これにより、現在のプロジェクトのすべての推移的な依存関係のリストが検索され、それらが削除されてから、再ダウンロードされます。ビルドごとに実行したい場合は、プラグインとしてpomに追加することもできます。

于 2011-12-24T13:44:38.493 に答える
61

〜/ .m2 / repositoryを削除したところ、再ダウンロードが必要になりました;)

于 2013-08-13T21:31:44.570 に答える
59

AliTokmenの回答に基づいています。次のコマンドを使用して、特定のローカル依存関係を1つ強制的に削除することができました。

mvn dependency:purge-local-repository -DmanualInclude=com.skyfish:utils

これにより、.m2 /リポジトリから削除され、実行に進むと常にJAR依存関係utilsが再ダウンロードされます。よりプログラマティックなものが必要な場合は、オプションも参照してください。utilsmvn clean install-Dinclude=...

于 2016-05-17T08:10:40.033 に答える
52

次のコマンドが役立つと思います!


mvn -U clean install
于 2015-10-29T06:08:39.563 に答える
17
mvn clean install -U

-Uは、依存関係の強制更新を意味します。

cleanまたは-Uを使用せずに単一の依存関係を更新する場合は、ローカルリポジトリから削除してからビルドするだけです。

于 2016-08-02T14:19:46.860 に答える
16

プロジェクトを右クリック->Maven->プロジェクトを更新し、スクリーンショットのようにチェックボックスをオンにします。リリースも更新されます:)

ここに画像の説明を入力してください

于 2015-04-14T14:30:06.510 に答える
9

のグループIDがわかっている場合はX、このコマンドを使用して、すべてXとその依存関係を再ダウンロードできます。

mvn clean dependency:purge-local-repository -DresolutionFuzziness=org.id.of.x

を使用することを提案する他の回答と同じことを行いますdependency:purge-local-repositoryが、に関連するすべてのものを削除して再ダウンロードするだけXです。

于 2018-08-21T21:58:32.903 に答える
7

Xに追加したときは、Xのバージョン番号(X-1.2)をインクリメントする必要があります。
次に、X-1.2がインストール/デプロイされ、プロジェクトのXへの依存関係を新しいバージョンX-1.2に依存するように変更する必要があります。

于 2011-10-31T21:51:09.800 に答える
5

本当にすべての依存関係を強制的にダウンロードしたい場合は、Mavenリポジトリ全体を再初期化してみてください。すでに説明したこの記事のように、次を使用できます。

mvn -Dmaven.repo.local=$HOME/.my/other/repository clean install
于 2014-02-27T08:46:50.097 に答える
3

削除されたjarファイルの再ダウンロードを強制するため、無効なLOCが発生している〜/ .m2 / repository ...../actual_pathを削除するだけです。リポジトリフォルダ全体を削除しないでください。代わりに、エラーが発生している特定のフォルダを削除してください。

于 2018-09-18T06:08:59.537 に答える
-1

を削除する~/.m2/repositoryと問題が解決します。ただし、それでも古いものを保持~/.m2/repositoryする必要がある場合は、Mavenローカルパスを一時的に変更できます。

IntelliJで作業している場合は、Maven設定に移動し、ローカルリポジトリパスを別の場所に変更します。近くにあるオーバーライドチェックボックスをオンにする必要がある場合があります。

ここに画像の説明を入力してください

于 2020-05-18T05:36:34.967 に答える
-3

ビルドパスに移動...既存のMavenライブラリを削除u追加...[ライブラリの追加]をクリック...[Maven管理依存関係]をクリック...次にMavenプロジェクト設定をクリック...[Maven依存関係の解決]チェックボックスをオンにします..すべてダウンロードしますMavenの依存関係

于 2016-11-08T02:52:15.993 に答える
-3

上記のほとんどの回答で問題は解決します。

ただし、IntelliJを使用していて、自動的に修正したい場合は、Maven設定に移動してください。

ビルド、実行、デプロイ->ビルドツール-> Maven

ここに画像の説明を入力してください

オフライン作業を無効にする

スナップショットを常に更新するを有効にする(必要に応じて切り替える)

于 2018-01-11T00:18:45.080 に答える