为什么运行'gradle clean build'而不是'gradle build'?

问题描述 投票:54回答:3

为什么我要运行gradle clean build而不是gradle build

据我了解,Gradle可以检测源更改并在需要时更新最终工件。那么,为什么我仍然需要clean

gradle build-system
3个回答
69
投票

clean taskjava plugin定义,它只是删除了buildDir文件夹,因此清除了所有内容,包括与先前版本不再相关的剩余内容。不这样做可能会导致构建不整洁,并可能由于先前构建产生的构建工件而被破坏。

作为示例,假设您的构建包含多个失败的测试,并且您确定这些测试已过时,因此需要将其删除。如果不清除测试结果(使用cleanTest任务)或不完全构建(通过运行clean任务),您将陷于失败的测试结果中,这将导致构建失败。从资源中删除资源/类但保留在未清理的build文件夹中,也会发生类似的副作用。


9
投票

它将删除构建目录。 (构建包含gradle操作的输出)gradle clean demo


1
投票

[其他类似buck的构建工具将检测到某些测试已删除,并且无需运行干净的目标就无法运行它们。我认为这是gradle的陷阱。

© www.soinside.com 2019 - 2024. All rights reserved.