终于明白为啥有团队禁止使用lombok
- 背景
- 我们的问题
- 难点
- 如何解决
- 是什么东西?
- 最后
背景
团队内部,idea版本不一样,有2021,有2022,有2023。
项目pom中lombok版本过低。
我们的问题
有用较新版本idea的同学,项目build报错。
难点
lombok版本由parent项目管理,且多个团队共用parent项目。
不方便统一升级lombok版本。(吐血)
如何解决
idea设置 Shared build process VM options。
setting->Build,Execution,Deployment->compiler
-Djps.track.ap.dependencies=false
是什么东西?
该标志 -Djps.track.ap.dependencies=false
在IntelliJ IDEA构建系统环境中使用,特别是在处理基于IntelliJ平台项目系统(JPS)的Java项目时。
JPS是一个增量构建系统,通过追踪源代码中的更改以仅重新编译必要的部分来加快编译速度。jps.track.ap.dependencies
这个选项是指对注解处理器(APs)生成的依赖项进行跟踪。
注解处理器用于根据源代码中存在的注解生成额外的源代码。默认情况下,JPS会追踪注解处理器引入的依赖关系,以便在因注解处理器产生的更改而需要触发重建时能准确把握时机。
当你设置 -Djps.track.ap.dependencies=false
时,IntelliJ IDEA将不再追踪注解处理器产生的依赖关系。这可能导致增量构建不够精确——意味着每次更改时IDE可能由于没有完全了解注解处理器创建的依赖关系图而编译比实际需要更多的类。
在某些特定场景下,比如存在依赖跟踪问题,或者由于项目结构或注解处理器的使用方式导致此项功能显著拖慢构建过程而不带来足够益处时,这个设置可能会有用。然而,通常来说,保持此功能开启能够确保更高效的增量构建流程。
最后
当然,你也可以通过升级lombok版本来解决以上问题。