Idea-Spring-boot 项目启动无法识别lombok

文章目录

  • 前言
  • [一、lombok 是什么?](#一、lombok 是什么?)
  • [二、lombok 启动无法识别](#二、lombok 启动无法识别)
    • [2.1 原因:](#2.1 原因:)
    • [2.2 处理步骤](#2.2 处理步骤)
  • 总结

前言

项目中使用lombok 隐藏式的生成get,set ,tostring 等方法,项目编译成功,但是启动时报错无法识别lombok 组件中的 builder()。


一、lombok 是什么?

Lombok 是一个Java 库(工具类),核心作用是:通过注解替代 Java 类中重复、冗余的模板代码(如 Getter/Setter、构造器、toString、日志声明等),让代码更简洁,开发效率更高。

二、lombok 启动无法识别

Spring Boot 项目 maven install 编译成功,但启动时 Lombok 的 builder() 提示「找不到符号」,核心原因是编译阶段(Maven)和运行 / IDE 启动阶段的 Lombok 处理不一致------Maven 编译时触发了 Lombok 生成 builder() 方法,但 IDE 运行时未识别该生成代码,或运行时类加载路径缺失 Lombok 生成的字节码。

2.1 原因:

maven install 成功说明:

Maven 编译时已通过「注解处理器」触发 Lombok 生成 builder() 方法,字节码文件(class)中存在该方法;

启动时报错说明:

IDE 直接运行项目时,未启用 Lombok 注解处理,导致编辑器 / 运行时无法识别 builder()(仅识别源码,未识别 Lombok 生成的字节码);

或 IDE 运行时的类路径与 Maven 编译后的类路径不一致,加载了未生成 builder() 的源码版本。

2.2 处理步骤

步骤1: 重新编译文件,并验证 class 文件:

打开项目 target/classes/ 下对应类的 class 文件(可通过 IDEA 反编译查看),确认是否有 builder() 方法:

复制代码
若有 → 说明编译成功,仅 IDE 运行时未加载;
若无 → 回到步骤 2 检查 Maven 注解处理器配置。

步骤 2:检查 IDEA 关键配置(核心!)

IDEA 未启用 Lombok 插件或注解处理,是启动时识别不到 builder() 的最常见原因:

2.1 确认 Lombok 插件已安装并启用

复制代码
IDEA → Settings → Plugins → 搜索「Lombok」→ 确保插件已安装且「Enabled」(勾选);
若插件未安装,直接在插件市场安装后重启 IDEA(必须重启!)。

2.2 开启注解处理器(强制 IDE 识别 Lombok 生成代码)

复制代码
IDEA → Settings → Build, Execution, Deployment → Compiler → Annotation Processors;
勾选「Enable annotation processing」(启用注解处理);
勾选「Obtain processors from project classpath」(从项目类路径获取注解处理器);
点击「Apply」→「OK」,重启 IDEA。

总结

本文记录Idea-Spring-boot 项目启动无法识别lombok。

相关推荐
程序员黑豆4 小时前
Java 注释详解:单行、多行与文档注释的完整指南
java·前端·ai编程
hey_sml5 小时前
JAVA每日一学---CompletableFuture中thenApply与thenCompose区别详解
java·开发语言
Doraemomo5 小时前
数据结构-环形链表
java·数据结构·链表
萧瑟余晖7 小时前
Java深入解析篇十七之SpringCloud
java·开发语言
是未才7 小时前
从输入 URL 到页面返回:DNS、路由、TLS 与 HTTP 完整链路
java·后端·计算机网络
ttod_qzstudio8 小时前
Java 常用语法极简通关(五):类与对象——字段、方法、构造器、this 与 static
java·开发语言·python
萧瑟余晖9 小时前
Java深入解析篇十七之Spring Security
java·开发语言·spring
不老刘10 小时前
【Java入门】Java服务部署方式全景对比:从java -jar到K8s
java·kubernetes·jar
离陌在学C#11 小时前
C# 重载与重写:深入理解面向对象编程的核心概念
java·c#
洛阳泰山11 小时前
AI 应用层被 Python 卷成红海,为什么我偏要用 Java 造一个 RAG + 工作流引擎?
java·人工智能·后端