Spring Boot应用在IntelliJ中结合Lombok无法运行问题排查
Lombok在IntelliJ 2024.1.7中无法生成Getter/Setter的异常问题
问题详情
已确认该问题的历史解决方案不适用,且已完成相关调研:
- 安装最新版IntelliJ 2024.1.7,已安装Lombok插件
- pom.xml中引入1.18.36版本的Lombok依赖
- 已开启构建过程中的注解处理
应用在Eclipse/STS中结合Lombok可正常运行,执行mvn clean install -U命令完全正常,IntelliJ中能完成构建且测试全部通过,但运行Spring Boot应用时出现6个错误,均为无法找到getter或setter方法。
报错示例
java: cannot find symbol symbol: method setCompanyId(java.lang.Long) location: variable company of type com.product.htmx.demo.model.CompanyEntity
相关实体类代码
@Data @With @NoArgsConstructor @AllArgsConstructor @SuppressWarnings("serial") @Entity @Table(name = "company") public class CompanyEntity implements Serializable { // `company_id` int NOT NULL AUTO_INCREMENT, @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "company_id") private Long companyId; // 其他属性省略 }
注:另外5个类出现相同的"cannot find symbol"错误,但其他实体和DTO虽有多个属性却未出现此类问题。
排查与解决建议
- 强制刷新IntelliJ缓存:通过
File -> Invalidate Caches...选择"Invalidate and Restart",缓存异常是此类问题的常见诱因 - 检查文件编码一致性:确认这6个类的文件编码与项目编码统一为UTF-8,非标准编码可能导致Lombok注解解析失败
- 验证Lombok插件状态:进入
Settings -> Plugins搜索Lombok,确保插件已启用且版本与IntelliJ 2024.1.7兼容 - 检查模块级注解处理配置:多模块项目需确认问题类所在模块的
Settings -> Build, Execution, Deployment -> Compiler -> Annotation Processors中,"Enable annotation processing"已勾选 - 尝试降级Lombok版本:将pom.xml中的Lombok依赖版本改为1.18.34,部分新版本与IntelliJ 2024.x存在兼容性小问题
- 重新触发构建流程:右键项目选择
Maven -> Reload Project,再执行Build -> Rebuild Project,强制Lombok重新生成方法
内容的提问来源于stack exchange,提问作者tjholmes66
相关产品推荐
相关产品推荐

