Lombok多版本jar造成的项目build错误
错误内容:
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.
原理:当将一个项目导入maven的时候,maven默认会加载所有写在父,子maven中的dependencies,如果两个同级子maven文件使用了不同的Lombok.jar,那么maven会加载两次,如果存在版本差异,那么作用域虽然不同,但是idea编译工具会认为是它们的并集,所以也不会报错的,这个时候就会造成子目录a(版本比较老1.16.18),子目录b(版本1.18.24)同时具有a,b的所有function,当然这是idea解析的,这个时候会造成,但是他们使用的数据source是不同的,a可以使用b的版本只是个假象。所以这个时候在不改变代码的情况下可以将两个Lombok对应的jar和source都改成高版本的。
否则就是改对应的dependencies了。