1. ホーム
  2. gradle

[解決済み] gradle build」ではなく「gradle clean build」を実行するのはなぜですか?

2022-03-08 16:07:15

質問

なぜ gradle clean build ではなく gradle build ?

私が理解するところでは、Gradleはソースの変更を検出し、必要に応じて最終的な成果物を更新することができます。では、なぜ私はまだ clean ?

解決方法は?

その クリーンタスク が定義されています。 Javaプラグイン これは、buildDir フォルダを削除し、以前のビルドの残骸など、もはや関連性のないものを含めてすべてをクリーニングするものです。これを行わないと、以前のビルドによって生成されたビルドアーチファクトのために壊れてしまう可能性のある、クリーンでないビルドが発生する可能性があります。

例えば、ビルドに失敗したテストがいくつか含まれており、これらは時代遅れであるため削除する必要があると判断したとします。テスト結果を消去しないまま (cleanTest タスクで)、 あるいはビルド全体を消去しないまま (clean タスクで)、 失敗したテストの結果をそのままにしておくと、ビルドに失敗することになります。同様の副作用は、ソースから削除されたリソースやクラスが、クリーンアップされずにビルドフォルダに残っていた場合にも起こります。