当前位置: 首页 > article >正文

关于Lombok中注解失效的问题

1.问题背景

从数据库中查询数据映射到实体类时,发现无法完成映射,对象都为空。经排查发现为@Data注解没有起作用。最终原因定位为Lombok引入问题。

有问题的的依赖如下:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <annotationProcessorPaths>
            <path>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
            </path>
        </annotationProcessorPaths>
    </configuration>
</plugin>

2.问题排查

2.1 确保 Lombok 已经启用

• 在 IDE 中安装 Lombok 插件:

         • IntelliJ IDEA:

                1) 打开 File -> Settings -> Plugins -> 搜索 Lombok 并安装。

                2)重启 IDE。

        • Eclipse:

                1)从 Lombok 官网 下载 lombok.jar。

                2)运行 java -jar lombok.jar 配置 Eclipse。

        • 确认项目设置:

        1)确保 Lombok 已添加到 IDE 的 Annotation Processor 选项中。

2.2 检查IDEA配置:

• File -> Settings -> Build, Execution, Deployment -> Compiler -> Annotation Processors。

• 勾选 Enable annotation processing

2.3 未指定maven版本

如果未显式指定 <version> 属性,Maven 会默认选择插件的最新兼容版本。明确指定 <version>,可以确保 maven-compiler-plugin 能正确处理依赖,找到所需的注解处理器。一定要指定版本!

2.4 更新maven依赖版本

参考版本

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.10.1</version>
    <configuration>
        <annotationProcessorPaths>
            <path>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>1.18.36</version>
            </path>
        </annotationProcessorPaths>
    </configuration>
</plugin>

3.总结

  1. 没装插件
  2. 编译器设置
  3. 未指定版本
  4. 依赖版本不对

依次排查快速解决问题


http://www.kler.cn/a/465298.html

相关文章:

  • 【优选算法】三数之和
  • 聚合函数理解
  • 深入了解PINN:物理信息神经网络(Physics-Informed Neural Networks)
  • 电影院售票 - 策略模式(Strategy Pattern)
  • github提交不上去,网络超时问题解决
  • 【AIGC】ChatGPT 记忆功能揭秘:使用与管理的全方位指南
  • 计算帐户每月余额,补齐缺失日期:从 SQL 到 SPL
  • Luma AI 简单几步生成视频
  • SpringMVC(一)配置
  • 【OpenCV】使用Python和OpenCV实现火焰检测
  • Spring Boot 中 TypeExcludeFilter 的作用及使用示例
  • 数据挖掘——聚类
  • vue3基础,小白从入门到精通
  • 三维算法基础知识
  • Unity Shader:从基础使用到动画实现全解析
  • 二层交换机和三层交换机
  • Vue3+Vue-router(history+路由前缀)+Vite 下本地刷新找不到页面问题
  • 钉钉h5微应用引用钉钉文件地址
  • 解决MYSQL Table has no partition for value from column_list的问题
  • jenkins修改端口以及开机自启