何も変更せずにMavenを実行すると、maven-compiler-plugin
Javaファイルが再コンパイルされることがよくあります。またはmaven-war-plugin
、何も変わっていないにもかかわらず、戦争を再構築またはコピーします。またはgwt-maven-plugin
、何も変更されていないにもかかわらず、Google Web Toolkit コードをビルドします (一部のコンピューターでは、他のコンピューターではそうではありません)。
Maven が何かを再構築することを決定した理由をどのように確認できますか? たとえば、(誤って) 変更されたと思われるファイルはどれですか?
例を次に示しますmaven-compiler-plugin
。何も変更されていない場合でも、毎回戦争リソースを再コピーします。開発時間を節約するために「爆発」戦争を使用していますが、これは通常の戦争でも発生します。
しかし、私の質問は、より一般的には、Maven の目標が既存の出力を使用するのではなく再構築することを選択する理由を見つける方法です。
[INFO] Processing war project
[INFO] Copying webapp webResources [d:\dev\proj1/war/WEB-INF] to [d:\dev\proj1\target\proj1-0.0.1-SNAPSHOT]
[INFO] Copying webapp webResources [d:\dev\proj1/lib/libs] to [d:\dev\proj1\target\proj1-0.0.1-SNAPSHOT]
[INFO] Copying webapp resources [d:\dev\proj1\war]
Webapp assembled in [37919 msecs]