先抛结论
被Lombok @Builder 和 @UtilityClass 修饰的类成员变量不能通过 import static 方式引入。
今天遇到了一个很诡异的问题,一个SpringBoot项目,突然在某次提交之后Maven编译就开始报错了。报错信息通篇是找不到那些标记了@Data的类所自动生成的 Getter方法和Setter方法,还夹杂着一些莫名其妙的无法在静态类中引用静态方法(源码绝对是正常的,不存在此类引用)
翻遍了百度之后,尝试了各种方式无果,包括:
- 提升Maven-compiler-plugin版本
- 提升Lombok版本
- 增加Maven-compiler-plugin的annotationProcessorPaths配置
- 其他江湖偏方
最终无奈,找到了Google,没想到这个问题在外网也是各热门问题,不得不说StackOverflow真的是牛逼,

StackOverflow上问题的链接:
https://stackoverflow.com/questions/34358689/maven-build-cannot-find-symbol-when-accessing-project-lombok-annotated-methods
也感谢这位老哥,一下子点醒了我。然后顺藤摸瓜找到了以下内容
Lombok @Builder与@UtilityClass:禁止import static引用

SpringBoot项目在Maven编译时遇到Lombok报错,原因是被@Builder和@UtilityClass修饰的类成员无法通过import static导入。解决方案是避免使用import static引用这些类的成员。问题源于Lombok的解析机制,官方已知但未在文档中明确提示。
最低0.47元/天 解锁文章
2167

被折叠的 条评论
为什么被折叠?



