mvn clean install
とmvn install
の違いは何ですか?
clean
は、Mavenの独自のビルドライフサイクルフェーズ(アクションまたはタスクと見なすことができます)です。 mvn clean install
は、各モジュールに対してclean
フェーズを実行する前に、各モジュールでinstall
フェーズを実行するようにMavenに指示します。
これにより、コンパイル済みのファイルがすべて消去され、各モジュールを最初からコンパイルしていることを確認できます。
Mavenでは、コマンドラインで目標フェーズまたはライフサイクルフェーズ(あるいはその両方)を指定できます。
clean
とinstall
は、 2つの異なるライフサイクルフェーズ 、 異なるプラグイン実行がバインドされている (デフォルトごと、または 明示的にpom.xmlで )のいずれかです。
clean
フェーズは、規約に従って、ビルドを再現可能にすることを目的としています。つまり、以前のビルドによって作成されたものをクリーンアップします。ほとんどの場合、それは clean:clean
を呼び出すことによって行われ、これは${project.build.directory}
にバインドされたディレクトリを削除します(通常 "target"と呼ばれます)。
複数の電話をかけることができます ターゲット Mavenでゴールmvn clean install
は、最初にclean
を呼び出し、次にinstall
を呼び出します。 cleanは標準ではないため、手動でクリーニングする必要があります。 ターゲット すべてのインストールで自動的に実行されるわけではありません。
clean
はターゲットフォルダを削除します - すべてのクラスファイル、Javaドキュメント、jar、レポートなどを削除します。 clean
を指定しないと、対応するソースファイルが変更されていないときにクラスをコンパイルしないため、mavenは「やるべきことをする」だけになります(簡単に言うと)。
我々はそれをアントではターゲット、メイブンではゴールと呼ぶ。
Mavenの用語に固執するには:
http://maven.Apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_Reference
@Andreas_Dについても同様に、プロジェクト内でSpringをあるバージョンから別のバージョンに更新することを行わずにクリーンアップすると言った場合は、両方ともアーティファクトに巻き込まれます。 Mavenを使用してFlex開発を行うときには、この点をよく調べてください。