mvn clean installと
mvn install` の違いは何ですか?
cleanは Maven の独自のビルドライフサイクルフェーズ(アクションまたはタスクとして考えることができる)です。mvn clean install
は、各モジュールの install
フェーズを実行する前に、各モジュールの clean
フェーズを実行するように Maven に指示します。
これは、コンパイル済みのファイルをすべて消去し、各モジュールを本当に一からコンパイルしていることを確認するものです。
Mavenでは、コマンドラインでゴールまたはライフサイクルフェーズのどちらか(または両方)を指定することができます。
cleanと
install`は2つの異なるライフサイクルフェーズで、異なるプラグインの実行にバインドされます(デフォルトまたはpom.xmlで明示的に)。
つまり、以前のビルドで作成されたものをすべてクリーンアップします。ほとんどの場合、clean:clean
が呼び出され、${project.build.dictory
に束縛されたディレクトリ(通常は"target"と呼ばれます)が削除されることによって行われます。)
mavenでは、複数のtargetゴールを呼び出すことができます。mvn clean installは最初に
cleanを呼び出し、次に
install` を呼び出します。clean は標準の target ゴールではなく、すべてのインストールで自動的に実行されないので、手動でクリーンする必要があります。
クラスファイル、javaドキュメント、jar、レポートなどをすべて削除することができます。もしclean
しない場合、mavenは必要なことだけを行います。例えば、対応するソースファイルが変更されていない場合、クラスをコンパイルしません(簡単に言うと)。
antではtarget、mavenではgoalと呼んでいます</sup>;
マーベンの用語に固執する:
-「クリーン」はクリーンのフェーズです。 ライフサイクル。 -「インストール」はのフェーズです。 デフォルトのライフサイクル。
http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_Reference。