今天编译一个新项目的时候出现以下告警信息:
java: JPS incremental annotation processing is disabled. Compilation results on partial recompilation may be inaccurate. Use build process "jps.track.ap.dependencies" VM flag to enable/disable incremental annotation processing environment.
单从字面意思来看:JPS增量注解处理已禁用,部分重新编译的结果可能不准确。
因为编译器无法充分考虑所有注解的影响。
解决方案——启用JPS增量注解处理
在IntelliJ IDEA 中,可以通过以下步骤启用:
打开“File” -> “Settings” -> “Build, Execution, Deployment” -> “Compiler” -> “Java Compiler”。
在“Additional command line parameters”中添加以下内容 -Djps.track.ap.dependencies=true
,如下图所示。
不使用IDEA而是希望仅在Maven或Gradle中配置:
在Maven项目中配置JPS增量注解处理,可以通过在pom.xml文件中添加以下配置来实现:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<compilerArgs>
<arg>-Djps.track.ap.dependencies=true</arg>
</compilerArgs>
</configuration>
</plugin>
</plugins>
</build>
在Gradle项目中配置JPS增量注解处理,可以通过在build.gradle文件中添加以下配置来实现:
compileJava {
options.compilerArgs += '-Djps.track.ap.dependencies=true'
}