IntelliJ IDEA使用lombok的@Slf4j后无法使用log问题解决

问题

lombok一直用起来很爽,特别是使用lombok+mybatis-plus的脚手架后,开发效率非常高,今天在开发过程中突然发现使用了@Slf4j注解后在类中无法通过log调用日志打印方法。

现象如图

使用@Slf4j
在这里插入图片描述
调用log方法时提示
在这里插入图片描述
此处无法调用log方法

问题分析

  • 因为之前导入的包倒错,使用了groovy.util.logging.Slf4j;这个包,修改过来之后,重新进行了maven的clean。问题仍然存在,排除包错误的问题
  • 因为其他类中都可以调起方法,只有这个刚写了类出现这种问题。所以确定为代码问题,而非配置及插件问题

问题解决

仔细查看代码差异后发现问题代码在于

@Slf4j
@Service
public class WdtTradeOrderSyncServiceImpl implements WdtTradeOrderSyncService

可能点出问题在这里,大家基本已经明白了,这是一个注解的使用顺序带来的坑。
修改后的代码块为

@Service
@Slf4j
public class WdtTradeOrderSyncServiceImpl implements WdtTradeOrderSyncService

原因分析

从问题解决的方法看来,分析可能原因为idea认为@Slf4j比@Service执行优先级高,所以再日志对象调用时没有对应的实例支撑,无法调用方法。
修改后先有类,然后有类中注入日志对象,所以日志可以正常输出。

其他@Slf4j无法使用情况

Idea没有安装lombok插件

如果开发工具没有安装lombok插件,不仅@Slf4无法使用,对应使用@Data的实体类中也会报错,大家经常说的使用lombok就是强X同事的说法就是因为这个,只要项目组有一人用了lombok,其他人都要安装lombok插件,否则代码一片红。
IntelliJ IDEA安装lombok步骤:
File–>Settings–>Plugins–>Marketplace–>搜索lombok–>install
执行完之后restart即可

Idea没开启annotation processing

如果开发工具没有开启注解enable annotation processing 也会引起注解不生效。
开启annotation processing步骤
File–>Settings–>Build,Ececution,Deployment–>Compiler–>Annotation Processors–>勾选 Enable annotation processing–>Apply即可

  • 10
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
引用\[1\]是一段Java代码,其中使用了@Slf4j注解来生成日志对象。引用\[2\]是关于解决IntelliJ使用@Slf4j注解后找不到log对象的问题的建议。 要解决IntelliJ使用@Slf4j注解后找不到log对象的问题,可以按照以下步骤进行检查和解决: 1. 确保已经在项目的依赖中导入了lombok库。在pom.xml文件中,检查是否有以下依赖项: ```xml <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> </dependency> ``` 如果没有该依赖项,请添加它并重新构建项目。 2. 确保注解生效激活。在IntelliJ中,打开项目的设置,然后选择"Build, Execution, Deployment" > "Compiler" > "Annotation Processors"。确保"Enable annotation processing"选项已经勾选。 完成以上步骤后,重新编译项目并运行代码,应该能够找到log对象并正常使用。 #### 引用[.reference_title] - *1* [在IntelliJ IDEA中,注解@Slf4j找不到log](https://blog.csdn.net/Zero_Jones/article/details/83650606)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [IntelliJ IDEA使用 @Slf4j 但是找不到 log解决方案](https://blog.csdn.net/Hedon954/article/details/105694006)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值