2016-11-02 18 views
4

私は、Mavenのプロジェクトディレクトリ内から次のコマンドを実行しています:purge-local-repositoryは実際には何をパージしますか?

mvn dependency:purge-local-repository 

期待される動作は何ですか?

は、それが(再ダウンロードおよび?)を削除するすべての依存関係がすでにのために私の地元のレポで、既存のその特定のプロジェクト(すなわちそのディレクトリ私は午前)、または、それは私の地元のレポのすべて内容を削除します?続き

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

我々その

dependency:purge-local-repository 

答えて

4

purge-local-repositoryは、ローカルリポジトリから(推移を含む)各依存関係のバージョンに関連付けられているすべてのファイルを削除します:

ローカルリポジトリからプロジェクトの依存関係を削除するには必要に応じて再解決することができます。遊びに来て

いくつかの要因は以下のとおりです。

  • 推移依存関係は、デフォルトでは、プラグインによってパージされています。これはactTransitivelyパラメータで設定できます。
  • ローカルリポジトリからパージされたすべての成果物は、デフォルトで再解決されます。これはreResolveパラメータで設定できます。
  • ローカルリポジトリからパージされる実際のファイルは、パージされたアーティファクトのバージョンに関連付けられたすべてのファイルに対応します。たとえば、依存関係foo:bar:1.0がパージされると、パスfoo/bar/1.0/*のすべてのファイルが削除されます。これは、(デフォルト値はversionです)resolutionFuzzinessパラメータで設定可能です:
    • artifactIdの値がパージされるアーティファクトのIDをアーティファクトへのパスの下にあるすべてのファイルを削除します。上記の例では、foo/bar/**以下のすべてのファイルがパージされます(したがって、すべてのバージョンが削除されます)。
    • 値がgroupIdの場合、パージ対象のアーティファクトのグループIDへのパスの下にあるすべてのファイルがパージされます。上記の例では、foo/**の下のすべてのファイルがパージされます(したがって、すべてのアーティファクトIDのすべてのバージョンが削除されます)。
    • fileの値は、パージされる成果物のファイルのみをパージします。上記の例では、ファイルbar-1.0.jar*のみが削除されます(これには、可能であればsha1が含まれます)。関連付けられたPOMファイルはパージされません。

あなたはアーティファクトがlist目的としたプロジェクトのすべての依存関係のリストを印刷することによりパージされようとしているかを確認することができます:あなたの場合

mvn dependency:list 

は、必要に応じて、このコマンドにexcludeTransitiveを追加します推移的な依存関係をパージしないことを決定します。

1

は、ローカルリポジトリからプロジェクトの依存関係を削除し、必要に応じてそれらを再解決します。それが上の実行されたプロジェクトのデフォルト

関連する問題