IntelliJ中Lombok失效求助:@_注解编译报错
解决Lombok @_ 语法因Java语言级别导致的编译失败问题
针对你遇到的@RequiredArgsConstructor(onConstructor = @_(@Inject))编译报错问题,可按以下步骤解决:
替换为Lombok兼容Java 9+的语法
下划线_在Java 9及以上版本属于保留关键字,Lombok针对该场景提供了兼容写法,将原注解修改为:@RequiredArgsConstructor(onConstructor_ = @Inject)注意参数名是
onConstructor_(下划线移至末尾),Lombok会在编译阶段自动处理此语法,生成带有@Inject注解的构造方法。确认IDEA的注解处理配置
- 打开
File > Settings > Build, Execution, Deployment > Compiler > Annotation Processors - 勾选
Enable annotation processing,确保Lombok能在编译阶段正常执行注解替换 - 检查
Settings > Plugins,确认Lombok插件处于启用状态(虽为IDEA自带,但存在意外禁用的可能)
- 打开
清理缓存并重建项目
IDEA缓存异常可能导致Lombok处理失效,执行以下操作:- 点击
File > Invalidate Caches... - 勾选
Clear file system cache and local history,选择Invalidate and Restart - 重启完成后,执行
Build > Rebuild Project
- 点击
临时调整项目语言级别(不推荐长期使用)
若暂时无法修改注解语法,可尝试将项目语言级别降至Java 8:- 打开
File > Project Structure > Project Settings > Project - 将
Project SDK和Project language level均设置为Java 8
此方法仅作为临时应急方案,可能影响项目中依赖高版本Java语法的代码。
- 打开
内容的提问来源于stack exchange,提问作者cershif
相关产品推荐
相关产品推荐

