Gradle incremental java编译导致完全重新编译

时间:2016-06-09 17:04:11

标签: gradle javacompiler

我只更改了一个源文件并重新启动了构建:

$ 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
}

我希望Gradle只重新编译XXX.java,它不是应该做的吗?

2 个答案:

答案 0 :(得分:0)

我不确切知道该功能的工作原理,但根据release notes for Gradle 2.1

  

当前的实现无法完全分析源代码的所有更改对确定哪些类需要重新编译的影响。在这种情况下,将重新编译所有源代码以避免不一致的编译结果。增量Java编译将改进即将推出的Gradle版本通常更快,并且可以调用完全重新编译以响应更少类型的更改。

这是几个版本之前,但您没有指定您正在使用的版本。我想在某些情况下可能仍然需要重新编译几个类。

答案 1 :(得分:0)

您可能在该java文件中有一个非私有常量。

选中issue