Mavenプロジェクトディレクトリ内から次のコマンドを実行しています。
mvn dependency:purge-local-repository
予想される動作は何ですか?
その特定のプロジェクトのローカルリポジトリに既に存在するすべての依存関係を削除(および再ダウンロードしますか)しますか(つまり、そのディレクトリを含む)、またはallを削除します私のローカルリポジトリの内容?
デフォルトでは、 purge-local-repository
は、実行されているプロジェクトの各依存関係(推移的を含む)のバージョンに関連付けられているすべてのファイルをローカルリポジトリから削除します。
ローカルリポジトリからプロジェクトの依存関係を削除し、オプションでそれらを再解決します。
関係するいくつかの要因は次のとおりです。
actTransitively
パラメータで設定できます。reResolve
パラメータで設定できます。foo:bar:1.0
が削除されると、パスfoo/bar/1.0/*
にあるすべてのファイルが削除されます。これは resolutionFuzziness
パラメータ(デフォルト値はversion
)を介して設定可能です:artifactId
の値は、パージされるアーティファクトのアーティファクトIDへのパスの下にあるすべてのファイルをパージします。上記の例では、foo/bar/**
の下のすべてのファイルが削除されます(したがって、すべてのバージョンが削除されます)。groupId
の値は、パージされるアーティファクトのグループIDへのパスの下にあるすべてのファイルをパージします。上記の例では、foo/**
の下のすべてのファイルが削除されます(したがって、すべての案件IDのすべてのバージョンが削除されます)。file
の値は、パージされるアーティファクトのファイルのみをパージします。上記の例では、ファイルbar-1.0.jar*
のみが削除されます(これには、ファイルに含まれるsha1
も含まれます)。関連するPOMファイルは削除されません。list
目標を持つプロジェクトのすべての依存関係のリストを出力することで、どのアーティファクトがパージされるかを確認できます。
mvn dependency:list
推移的な依存関係を削除しない場合は、オプションで excludeTransitive
をこのコマンドに追加します。
同じパージを使用して詳細に、プロジェクトAとプロジェクトB(Jar)がローカルでビルドされ、プロジェクトAがB(ローカルリポジトリにある)に依存している場合は、次のように解決できます。
mvn dependency:purge-local-repository -Dinclude = com.xxxx.projectB:projectB
プロジェクトAに依存関係を追加すると、問題が解決します。
<dependency>
<groupId>com.xxxx.projectB</groupId>
<artifactId>projectB</artifactId>
<version>${project.version}</version>
</dependency>
お役に立てれば、
以下
http://maven.Apache.org/plugins/maven-dependency-plugin/purge-local-repository-mojo.html
私たちは
dependency:purge-local-repository
ローカルリポジトリからプロジェクトの依存関係を削除し、オプションでそれらを再解決します。