2016-12-11 6 views
0

ビルドツールに関係なく、パッケージ/コンパイルを行うたびにクリーンなタスク/フェーズをやっている人がいます。 用量ビルドツールは、以前のビルドの再利用成果物を使用しますか?すべてのビルド(パッケージ)の前にきれいにしてください

+0

その質問に対する答えは、「それは依存する」ということです。一般的に、ビルド前にクリーンなアクションを実行して、このビルドに影響を与える可能性がある最後のビルドから何もないことを確認します。たとえば、クラスファイルの90%が以前に構築されたjarファイルを作成したくない場合があります。 –

答えて

0

ほとんどの場合、デフォルトコマンドとしてclean installが表示されますが、代わりにverifyを使用することをお勧めします。

cleanを実行すると、ターゲットフォルダが削除され、増分ビルドが実行できなくなります。プラグインは、アクションを実行する必要があるかどうかを検出するのに十分な情報を持っています。たとえば、maven-compiler-pluginは、javaソースファイルとコンパイルされたクラスファイル(およびその他のもの)を比較して、ファイルを(再)コンパイルする必要があるかどうかを調べます。プラグインがインクリメンタルビルドで正しく動作していないと思われる場合は、そのプラグインの問題を報告してください。

installは、多くの場合Maven2でマルチモジュールで必要でしたが、Maven3はこれらの内部モジュール依存関係を解決することができます。 'インストール'の唯一のことは、成果物をローカルリポジトリにコピーすることです(= IO =高価)。また、あなたのローカルリポジトリと同僚と比べて見た目が違うようになり、ビルド中に異なる結果が得られる可能性があります。ビルドサーバーがこれらの成果物を共有リモートリポジトリにプッシュし、それらのスナップショットをすべてそこから引っ張るようにするのがよいでしょう。ごくまれにしかインストールを呼び出すことができません(経験豊富なMavenユーザはいつ知っていますか?)、代わりにverifyを使用してください。

関連する問題