
使用 lombok 的 `delombok` 工具(命令行、maven 插件或 intellij 插件)可一键将所有 `@data`、`@getter`、`@setter` 等注解展开为标准 java 方法,无需手动重写,5 分钟内完成全项目脱 lombok。
Lombok 通过编译时注解处理器自动生成 getter/setter/toString/equals/hashCode 等样板代码,极大提升开发效率。但当项目需移除 Lombok(如教学审查、构建环境限制或团队规范),手动补全数百个类的方法不仅耗时易错,还极易遗漏 @RequiredArgsConstructor 对应的构造器或 @EqualsAndHashCode 的字段排除逻辑。所幸,Lombok 官方提供了成熟可靠的反向工具 —— delombok。
✅ 推荐方案:三种高效执行方式
1. 命令行方式(最通用,无需 IDE)
确保已下载 lombok.jar(与项目中使用的 Lombok 版本一致),在项目根目录执行:
java -jar lombok.jar delombok src/main/java -d src-delomboked
⚠️ 注意:src/main/java 是源码路径;src-delomboked 为输出目录(自动创建)。生成后,将 src-delomboked 中的 .java 文件复制回 src/main/java,并删除原 Lombok 依赖(Maven 中移除 )及 lombok.config 文件。
2. Maven 插件(适合 CI/标准化流程)
在 pom.xml 中添加 lombok-maven-plugin:
org.projectlombok lombok-maven-plugin 1.18.30.0 generate-sources delombok false ${project.basedir}/src/main/java ${project.build.directory}/delomboked
运行 mvn lombok:delombok,生成代码位于 target/delomboked/,可直接覆盖源码。
3. IntelliJ IDEA(最快上手,可视化操作)
- 确保已安装 Lombok Plugin(启用 Enable annotation processing);
- 右键点击 src/main/java → Refactor → Delombok → 选择要展开的注解类型(推荐选 All);
- 指定输出位置(建议新建 src-delomboked 目录),确认后自动生成完整 Java 源码。
? 生成结果说明与注意事项
- @Data 展开为:全部字段的 getter/setter + 无参/全参构造器 + toString() + equals() + hashCode();
- @Builder 会生成完整的 Builder 内部类及静态 builder() 方法;
- @Slf4j 不会被展开(日志字段需手动替换为 private static final Logger log = LoggerFactory.getLogger(...));
- 务必检查并清理残留:移除 import lombok.*;、@RequiredArgsConstructor(onConstructor_ = @__({@Autowired})) 等非标准注解(delombok 不处理 Spring 相关元注解,需人工调整);
- 生成代码后,运行 mvn compile 和单元测试,验证行为一致性(尤其 equals/hashCode 的字段包含逻辑)。
✅ 总结
delombok 不是“代码转换器”,而是 Lombok 编译器的“源码导出模式”,它严格复现了 Lombok 实际注入的字节码逻辑,生成的代码 100% 符合 Java Bean 规范。对一周截止的大学项目而言,这是安全、合规、零学习成本的最优解——5 分钟执行,10 分钟验证,即可交付一份“纯 Java、无魔法、 instructor-approved”的 Spring Boot 工程。










