使用lombok的sl4j注解,报错java: 找不到符号 符号: 变量 log
已经引入了lombok,使用log进行打日志还是报错
implementation 'org.projectlombok:lombok:1.18.30'
1. 确保 Lombok 的注解处理器已启用
Gradle 和 IntelliJ IDEA 等 IDE 需要明确启用 Lombok 注解处理器来生成代码。
我添加了lombok注解支持,就能正确执行了
annotationProcessor 'org.projectlombok:lombok:1.18.24'
在 Gradle 中配置 Lombok 注解处理器
确保你的 build.gradle
文件包含 Lombok 注解处理器的配置:
maven
首先,请确保在 pom.xml 文件中正确添加了 Lombok 的依赖。如果你使用的是 Maven,应该像下面这样配置 Lombok 依赖:
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.24</version> <!-- 使用最新版本 --><scope>provided</scope>
</dependency>
gradle
annotationProcessor
使 Lombok 可以在编译时生成所需的代码(例如,log
变量)。如果没有这个配置,编译器将无法生成相关的代码,导致我遇到的 "找不到符号" 错误。
检查 IDE 设置(对于 IntelliJ IDEA)
确保 IntelliJ IDEA 启用了注解处理器:
- 打开 Settings(或者 Preferences)。
- 搜索
Annotation Processors
,然后启用注解处理器。 - 在 Build, Execution, Deployment -> Compiler -> Annotation Processors 中,确保勾选了 Enable annotation processing。
- 点击 OK 保存设置。
2. 清除 Gradle 缓存并重建项目
有时候 Gradle 可能缓存了旧的依赖或未能及时更新,你可以通过以下步骤清除缓存并重新构建项目:
- 在命令行中运行以下命令:
bash
./gradlew clean build
- 然后重新构建项目,或者在 IntelliJ 中 Invalidate Caches / Restart,确保 IDE 刷新了所有内容。
3. 其他常见问题
IDE 插件问题:如果你使用的是 IntelliJ IDEA,确保已安装 Lombok 插件。打开 Settings -> Plugins -> 搜索
Lombok
,如果没有安装插件,请安装并重新启动 IDE。Gradle 版本问题:某些旧版的 Gradle 可能会有问题,确保你的 Gradle 版本是较新的(推荐至少 6.x 版本)。
4. 使用 @Slf4j
注解的示例代码
假设已经解决了依赖问题,代码如下:
java
import lombok.extern.slf4j.Slf4j; @Slf4j public class DateTest { public static void main(String[] args) { log.info("Hello, Lombok Log!"); // 其他逻辑 } }
总结
- 确保
annotationProcessor
正确配置。 - 在 IntelliJ IDEA 中启用注解处理器。
- 清除 Gradle 缓存并重新构建项目。
- 确保 Lombok 插件已安装并启用。