如何在Spring Boot项目中正确配置Lombok以使用@Slf4j?

三编:
已解决:将Lombok版本更改为最新版本【<version>1.18.36</version>】


二编:

image.png
image.png
image.png
image.png


原始问题:
在springboot中引入了slf4j和lombok。一开始图省事,直接使用lombok注解@Slf4j,但是启动项目时一直报错未能找到log变量【如图】image.png
代码:

package xianxuedemo.utils;

import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

@Slf4j
public class LogsUtils {

//    private static Logger log = LoggerFactory.getLogger(LogsUtils.class);
    public static void a(Object msg){
        log.info("aaa:{}",msg);
    }
}

但是当我不再使用Lombok的Slf4j注解,同时加上 private static Logger log = LoggerFactory.getLogger(LogsUtils.class);后,整个程序可以运行并通过相关测试。

初步推断是lombok配置问题?请问大佬们,此问题出现的原因是什么,以及如何解决?

补充:
截至该提问发出时,我已按照网上通用教程进行如下排查,但问题依旧存在

  1. lombok插件已经安装、pom.xml文件依赖无误【通过idea start自动生成的】
  2. 已打开idea中设置-编译器-注解处理器部分的“启用注解处理”选项
  3. Java编译器为javac
  4. idea版本为2023.2.6版本
阅读 741
2 个回答

我以前用springboot2.7.1Lombok版本用的1.18.26,你用springboot3.4.1话Lombok版本至少要1.18.26以上

这个应该不是什么很困难的问题吧。
要不你直接抄这个仓库 https://github.com/ccmjga/mjga-scaffold 的依赖配置试试?其他多的别引入避免冲突。

一般来说引入这些依赖,就是你不需要的东西不要引入,保持一个干净的配置能够避免很多奇怪的错误。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏