You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Java项目lombok.config文件位置及Eclipse中Lombok报错解决求助

解决Lombok @AllArgsConstructor废弃参数报错及lombok.config生效问题

我之前也碰到过一模一样的问题,来给你一步步梳理解决方案:

一、lombok.config文件的正确位置

这个文件必须放在项目的根目录——也就是和你的pom.xml(Maven项目)或build.gradle(Gradle项目)完全同级的目录,绝对不能放在src文件夹里。如果是多模块项目,你可以在父项目根目录放一个全局配置,或者在需要的模块根目录单独配置。

二、配置文件的正确内容

确保文件里只有这一行(不要加多余注释或空格,避免解析异常):

lombok.anyConstructor.suppressConstructorProperties = true

三、让配置生效的关键操作

你之前的问题大概率是没做全这些步骤:

  • 彻底移除废弃参数:不仅要处理@AllArgsConstructor注解,更重要的是——如果之后还要用这个注解,必须把括号里的(suppressConstructorProperties = true)完全删掉,只保留@AllArgsConstructor本身。报错的根源就是这个参数被Lombok废弃了,只要代码里还留着它,哪怕注解被注释,旧编译缓存也可能触发报错。
  • 重启Eclipse:Lombok是通过修改Eclipse核心编译器逻辑工作的,配置文件的变更必须重启IDE才能被加载,这一步绝对不能省。
  • 清理并重构项目:依次点击菜单栏的Project -> Clean...,选中你的项目进行清理,之后再执行Project -> Build Project,彻底清除旧的编译缓存。
  • 验证Lombok安装状态:检查Eclipse是否正确安装了Lombok:打开Help -> About Eclipse IDE,看界面上有没有Lombok的标识;或者打开eclipse.ini文件,确认里面有类似-javaagent:path/to/your/lombok.jar的配置项,如果安装不完整,任何Lombok配置都不会生效。

四、版本相关的小提示

你用的1.16.18和1.14.4版本其实都已经支持lombok.config的这个配置了,版本不是问题。不过如果之后有机会,升级到1.18.x以上的Lombok版本会更稳定,毕竟旧版本的兼容性支持会逐渐减少。

最后排查点

如果还是不行,检查项目里有没有其他类用了带suppressConstructorProperties = true参数的Lombok构造器注解(比如@NoArgsConstructor@RequiredArgsConstructor),这些也会触发同样的报错,要一并清理掉。

内容的提问来源于stack exchange,提问作者immu

火山引擎 最新活动