6

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

$ 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,这不是应该做的吗?

4

2 回答 2

0

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

检查这个问题

于 2017-11-14T17:17:39.520 回答
0

我不确切知道该功能是如何工作的,但根据Gradle 2.1 的发行说明

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

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

于 2016-06-09T17:22:37.927 回答