我有一個在Windows 10上成功運行的多項目Gradle構建腳本。它讀取並更新遠離項目託管目錄的Version.properties文件。 使用Gradle/groovy完成所有文件操作。在版本文件被讀取,增加和重寫之後,它被複制到build/classes目錄,在那裏它將被隨後的jar和shadowjar任務拾取。Gradle clean build - 在清潔完成之前開始構建
gradle build shadowjar ... etc.
但是,如果我調用建立文件之前清潔任務是閱讀和適當增加,但該文件的副本靜靜地失敗:如果我的Gradle調用如下
一切都像宣傳的那樣。
使用的命令是:
gradle clean build shadowjar
我懷疑是gradle這個不等待清潔任務開始之前構建的任務完成。文件被讀取並增加,但同時,多項目清理活動尚未完成。我嘗試過在依賴項塊,doFirst {}和doLast {}上進行嘗試,並在構建過程中進一步推送文件副本。我的主要要求是在執行jar或shadowjar任務之前,先有Version.properties文件。我懷疑試圖寫入gradle的構建/目錄,因爲在gradle執行其活動時,可能無法將任何內容放入構建目錄中。有什麼方法可以確保Version.properties文件(或任何生成的文件)被複制?還是有另一個位置,我可以使用它不會在清理時被gradle吹走,但仍然可以在build中拾取:jar/build:shadowjar?
你使用並行執行('--parallel' or'org.gradle.parallel = true')嗎? 你正在使用哪個版本的Gradle? – bigguy
gradle -version用Groovy 2.4.7返回Gradle 3.3。我沒有啓用--parallel我的build.gradle腳本中的任何地方。 – blyons