@NoArgsConstructor失效及@Slf4j找不到符号log,解决方法

项目场景:黑马tlias管理系统

问题描述

实现黑马tlias管理系统时,使用了lombok的注解@NoArgsConstructor和@Lsf4j,但是运行时报错找不到无参构造函数和找不到符号log。
idea版本2024.2.4,lombok版本1.18.36,JDK版本21。

@Data
@AllArgsConstructor
@NoArgsConstructor
public class Result {
    private Integer code;
    private String msg;
    private Object data;
    

    public static Result success(){
        return new Result(1,"success",null);
    }

    public static Result success(Object data){
        return new Result(1,"success",data);
    }

    public static Result error(String msg){
        return new Result(0, msg, null);
    }
}
@RestController
@Slf4j
public class DeptController {

//    private static Logger log = LoggerFactory.getLogger(DeptController.class);
    @RequestMapping("/depts")
    public Result list(){
        log.info("查询所有部门数据");
        return Result.success();
    }
}

尝试了网上常见的几种解决方法后,都没能修复该bug。
包括:

  • 更改lombok版本
  • 使缓存失效
  • 安装lombok插件(idea捆绑,无需安装)
  • 启用注解处理

解决方案:

在查找了lombok官方网页后发现,JDK9+版本中需要在pom文件中加入插件配置:

JDK9+ with module-info.java
The configuration of the compiler plug-in should contain the following:

<annotationProcessorPaths> 	
		<path>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId> 		
			<version>1.18.36</version>
		</path> 
</annotationProcessorPaths> 

在这里插入
打开pom文件,发现少了一行1.18.36,添加后version版本后程序正常了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值