爲什麼我要運行'gradle clean build'而不是'gradle build'?據我所知,gradle可以檢測源變化並在需要時更新最終的工件。那麼爲什麼我仍然需要「清潔」?爲什麼要運行'gradle clean'?
回答
clean task由java plugin定義,它只是刪除buildDir文件夾,從而清除所有內容,包括以前版本中不再相關的剩餘部分。不這樣做可能會導致不潔的構建,由於構建了以前構建產生的構件,可能會破壞構建。
作爲一個例子,假設您的版本包含多個失敗的測試,並且您認爲這些測試已過時,因此需要刪除。如果沒有清理測試結果(使用cleanTest任務)或完全構建(通過運行乾淨的任務),您將會遇到失敗的測試結果,從而導致構建失敗。類似的副作用也可能發生在從資源中刪除的資源/類中,但仍保留在未清理的構建文件夾中。
感謝您的回答。我知道乾淨的是什麼,但我不知道什麼時候有用。你能否提供這樣一個例子,以便更好地理解?謝謝。 – 2015-03-13 11:41:23
當然。假設您的版本包含多個失敗的測試,並且您認爲這些測試已過時,因此需要刪除。如果沒有清理測試結果(使用cleanTest任務)或完全構建(通過運行乾淨的任務),您將會遇到失敗的測試結果,從而導致構建失敗。類似的副作用也可能發生在從資源中刪除的資源/類中,但仍保留在未清理的構建文件夾中。 – 2015-03-13 12:03:32
有道理。你可以編輯你的答案,包括這個例子,所以我可以標記爲正確的? – 2015-03-13 12:41:54
像buck這樣的其他構建工具會檢測到某些測試已被刪除,並且在沒有運行乾淨目標的需求時不會運行它們。我認爲這是Gradle的陷阱。
這大多不準確,Gradle有輸入和輸出跟蹤,幾乎所有的任務都可以處理這種情況。 – mkobit 2016-10-26 02:35:32
- 1. 'mvn clean install':'install'後爲什麼'clean'會運行?
- 2. 運行gradle clean顯示ProcessLogger失敗
- 3. 爲什麼要先運行mvn clean clover2:setup install clover2:clover,然後:mvn sonar:sonar
- 4. 爲什麼不會從jenkins作業中運行gradle
- 5. 爲什麼Gradle需要頻繁上網?
- 6. 爲什麼執行gradle運行時,classpath中缺少lwjgl?
- 7. 爲什麼要運行exec命令?
- 8. 爲什麼rails需要JavaScript運行時?
- 9. JFrame和爲什麼要繼續運行
- 10. Gradle clean被認爲是最新的
- 11. 從CLI運行gradle與從Android studio GUI運行gradle有什麼不同?
- 12. Gradle compileTestJava在gradle clean build期間失敗
- 13. 爲什麼Eclipse在mvn clean clean後清潔
- 14. Android clean build gradle任務
- 15. 爲什麼Gradle會運行兩次測試?
- 16. 爲什麼我的Gradle測試反覆運行?
- 17. 爲什麼gradle不能運行我的shell腳本?
- 18. Gradle Exec:爲什麼它沒有在配置階段運行?
- 19. 爲什麼測試不能使用這個gradle腳本運行
- 20. Activiti + Spring Boot + Gradle構建在執行gradle clean test時掛起
- 21. 爲什麼Android:在Desktop中運行Gradle任務:在IntelliJ 2016.2中運行任務?
- 22. 爲什麼mvn clean install和eclipse在運行的junit測試中有所不同?
- 23. 的Eclipse只運行-clean -refresh
- 24. 用gradle運行grunt
- 25. 爲什麼Gradle Daemon會死?
- 26. 爲什麼gradle在構建
- 27. 爲什麼不運行--exec運行?
- 28. Gradle + TestNG:設置要運行的類
- 29. 我爲什麼要包括gradle這個依賴作爲`@ aar`
- 30. 爲什麼'testAndroidTestCaseSetupProperly`需要這麼長時間才能運行?
爲了確保您得到的錯誤不是來自Gradle的錯誤索引。或者如果您添加了更改每個依賴項的新庫。 – Tschallacka 2015-03-13 09:31:43
「gradel clean build」有助於刪除上次構建時生成的所有依賴關係,並從服務器獲取新的依賴關係並構建您的項目。謝謝 – Naitik 2015-03-13 09:32:53
@Naitik,那不對。 – Opal 2015-03-13 09:41:51