java: JPS 增量注解处理被禁用

java: JPS incremental annotation processing is disabled. Compilation results on partial recompilatio

2022. 3 .17号早上11点30分,突然出现这个问题,运行项目直接编译失败,出现oom。原因是项目文件过大,导致编译所需内存不够。调整为700,重新运行项目,一切ok。

### 解决 JPS 增量注解处理程序被禁用导致的编译结果不正确 当遇到 `JPS` 增量注解处理禁用的情况时,这通常意味着 IntelliJ IDEA 的内部构建系统未能正确识别和应用注解处理器的变化。为了确保增量编译的结果准确性,建议采取以下措施: #### 修改 VM 参数以启用增量注解处理 可以通过设置 JVM 参数来控制是否开启增量注解处理功能。具体操作如下所示,在启动配置中加入 `-Djps.track.ap.dependencies=true` 这一参数可以解决问题[^1]。 对于命令行方式启动的应用程序来说,则可以在运行脚本里添加上述选项;而对于通过 IDE 执行的任务而言,可在项目的 Run Configuration 或者 Build Process 下找到相应的 VM Options 字段并填入该值即可生效。 另外一种做法是在IDEA全局属性文件(`idea.properties`)里面增加同样的键值对定义: ```properties # Enable tracking of annotation processor dependencies. jps.track.ap.dependencies=true ``` #### 清理缓存与重建索引 有时即使启用了此特性也可能因为旧版本的数据残留而继续出现问题。因此还需要执行清理工作:选择菜单栏中的 "File" -> "Invalidate Caches / Restart..." 来清除本地缓存数据,并允许软件重启后自动重新建立必要的索引来保证最新的状态得到反映。 #### 更新插件及依赖库 确保所使用的第三方插件以及项目内的所有外部依赖项都是最新稳定版也很重要。特别是那些涉及到自定义注解处理器的相关组件更应该保持同步更新至官方推荐的最佳实践版本号范围之内。例如,如果正在使用某个特定框架自带的注解支持包,则应参照其文档说明确认当前环境中安装的是不是最适合的选择。 ```xml <dependencies> <!-- Example dependency --> <dependency> <groupId>com.intellij</groupId> <artifactId>annotations</artifactId> <version>latest.release.version</version> </dependency> </dependencies> ``` 以上方法能够有效解决由于 JPS 增量注解处理关闭引起的一系列潜在风险,从而保障开发过程中代码变更后的及时反馈机制正常运作。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值