2016-06-09 129 views
4

我只改變一個源文件並重新啓動構建:搖籃增量Java編譯導致完全重新編譯

$ gradle jar 
Incremental java compilation is an incubating feature. 
:compileJava 
Full recompilation is required because 'XXX.java' was changed. 
Analysis took 0.241 secs. 

我gradle這個配置有:

compileJava { 
    options.fork = true 
    options.incremental = true 
} 

我希望搖籃到只有重新編譯XXX。 java,它不應該做什麼?

回答

0

我不知道該功能的具體工作,但根據release notes for Gradle 2.1

當前的實現是不能完全分析準確識別方面的所有更改源代碼的影響哪些類需要重新編譯。在這種情況下,所有的源代碼都將被重新編譯,以避免編譯結果不一致。增量Java編譯將改進即將到來的Gradle版本的速度,並且爲了響應更少類型的更改而調用完整的重新編譯。

這是幾個版本之前,但你沒有指定你使用的是哪個版本。我想在某些情況下,可能仍然需要重新編譯幾個類。

+0

謝謝,我使用的是Gradle 2.12。現在我想知道它是否能夠避免完全重新編譯。 – bananasplit

0

您可能在該java文件中有一個非私有常量。

檢查此issue

相關問題