lombok.config
文件的位置规则
Lombok 的配置文件 lombok.config
可以放置在多个位置,Lombok 会按照特定顺序查找并合并这些配置。以下是关于文件位置的详细说明:
1. 标准位置
项目根目录(推荐)
/your-project-root/lombok.config
- 这是最常用的位置,适用于整个项目
- Maven/Gradle 项目的根目录(与
pom.xml
或build.gradle
同级)
源代码目录
/your-project-root/src/main/java/lombok.config
/your-project-root/src/test/java/lombok.config
- 只影响对应源代码目录下的文件
- 测试目录的配置会覆盖主代码目录的配置
包目录
/your-project-root/src/main/java/com/yourpackage/lombok.config
- 只影响该包及其子包中的类
- 包级配置会覆盖全局配置
2. 查找顺序
Lombok 按以下顺序查找配置(后面的配置会覆盖前面的):
- Lombok 自带的默认配置(内部)
- 项目根目录的
lombok.config
- 源代码目录(
src/main/java
或src/test/java
)的lombok.config
- 包目录中的
lombok.config
3. 验证配置是否生效
可以通过以下方式验证:
-
在命令行运行:
java -jar lombok.jar config --show
-
查看编译后的代码,确认 Lombok 生成的元素是否应用了配置
4. 配置示例
典型的 lombok.config
内容示例:
# 将Jackson注解复制到生成的方法上
lombok.copyableAnnotations += com.fasterxml.jackson.annotation.JsonProperty
# 启用实验性功能
lombok.experimental.flagUsage = WARNING
# 禁用某些警告
lombok.log.fieldIsStatic = false
5. 注意事项
- 文件名必须精确:只能是
lombok.config
(不能是lombok-config.conf
等变体) - 编码建议:使用 UTF-8 编码
- IDE 支持:
- IntelliJ IDEA 需要安装 Lombok 插件
- Eclipse 需要正确配置 Lombok 代理
- 构建工具集成:
- Maven/Gradle 项目通常放在项目根目录
- 确保文件被包含在最终构建中(通常不需要特别处理)
6. 特殊场景
多模块项目
对于 Maven/Gradle 多模块项目:
- 每个子模块可以有独立的
lombok.config
- 子模块配置会覆盖父模块配置
测试专用配置
在 src/test/java/lombok.config
中的配置只影响测试代码
通过合理放置 lombok.config
文件,你可以实现不同层次的配置覆盖,满足项目不同部分的差异化需求。