16

Maven プロジェクト ディレクトリ内から次のコマンドを実行しています。

mvn dependency:purge-local-repository

予想される動作は何ですか?

その特定のプロジェクト(つまり、私がいるディレクトリ)のローカル リポジトリに既に存在するすべての依存関係を削除 (および再ダウンロード) しますか? それとも、ローカル リポジトリのすべてのコンテンツを削除しますか?

4

3 に答える 3

15

デフォルトで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推移的な依存関係をパージしないことにした場合は、オプションでこのコマンドに追加します。

于 2016-11-02T14:31:30.577 に答える
0

続く

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

私たちは

dependency:purge-local-repository

プロジェクトの依存関係をローカル リポジトリから削除し、必要に応じて再解決します。

于 2016-11-02T14:31:19.203 に答える