Gradle增量java编译导致完全重新编译

问题描述 投票:0回答:2

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

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

gradle javacompiler
2个回答
0
投票

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

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

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


0
投票

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

检查这个问题

© www.soinside.com 2019 - 2024. All rights reserved.