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

Intellij 安装配置 lombok

Intellij 安装配置 lombok

用 lombok 能够减少 setter/getter/noArgsConstructor 这样的 boilerplate 代码,所以用起来还是比较方便的。

刚开始以为直接安装到 maven 里面就能用了,运行的时候发现 @Getter, @Data 这些 annotation 根本找不到,一查才发现原来配置没弄好,这里记一下配置的东西,以防之后换电脑还得继续找……

lombok 的官方网站为 https://projectlombok.org/,不过里面相对而言没什么内容

  1. 更新 POM

     <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><scope>provided</scope></dependency>
    

    如果要部署的话还是要注意一下这个 scope,provided 代表代表着在部署时,JDK 或者容器在运行时会提供该依赖,所以在 compile classpath 可以找到这个依赖,但是 runtime classpath 中不会

    所以如果打包的时候没有提供 lombok 插件,部署完的项目应该是没办法正常运行的

  2. 下载 lombok 插件

    intellij 和 eclipse 中插件不一样,这里说 intellij,我用的插件是这个:

    在这里插入图片描述

  3. 配置使用 annotation

    这个需要到 > Settings > Build, Execution, Deployment > Compiler > Annotation Processors 下面去开启:

    在这里插入图片描述

  4. 重新 build 一下

    Intellij 上应该是会自动提示,说要将 lombok 添加到本地的 classpath 里面,如果失败的话也可以到终端使用 -U 的 flag 强制更新一下

    在这里插入图片描述

  5. 使用 lombok

    package com.example.restapi.entity;import lombok.AllArgsConstructor;
    import lombok.Data;
    import lombok.NoArgsConstructor;@Data
    @NoArgsConstructor
    @AllArgsConstructor
    public class Student {private String firstName;private String lastName;
    }

    需要注意的是,如果这里的 annotation 和实际的实现有冲突的话,intellij 就会报错:

    在这里插入图片描述

到这里 lombok 的配置就完成了,项目中也可以正常使用了:

在这里插入图片描述

参考

  • Adding Lombok plugin to IntelliJ project [duplicate]

  • lombok maven setup

    这里有一些额外的资料,有需要的话可以参考一下

http://www.lryc.cn/news/191790.html

相关文章:

  • Chrome插件精选 — 暗色主题插件
  • PXE解决uefi安装centos6黑屏问题
  • Feign 调用为何POST不支持同时传入多个SpringQueryMap对象,但是GET方法就支持?
  • RISC-V 特权级架构
  • 目录启示:PHP 与命名空间的声明
  • D. Divide and Equalize--Codeforces Round 903 (Div. 3)
  • 保姆式教程:MAC安装Android studio(包括安装JDK,Android SDK),解决gradle下载慢的问题
  • Ps:选区的布尔运算
  • PyTorch 深度学习之卷积神经网络(基础篇)Basic CNN(九)
  • torch实现Gated PixelCNN
  • 破局「二次创业」:合思的新解法
  • 第五章:TCP和UDP基本原理
  • 算法:动态规划的入门理解
  • 最新版nacos 2.2.3服务注册与发现版本依赖问题
  • 2023年中国合同能源管理行业研究报告
  • php以半小时为单位,输出指定的时间范围
  • Electron应用的 asar 打包 解压
  • 蓝桥等考Python组别十七级003
  • Redis概述和与SpringBoot的整合
  • Python 中的 round() 函数:实现精确的数值舍入操作
  • 在springboot中如何开启Bean数据校验
  • 【C语言好题系列三】
  • ElasticSearch搜索引擎:常用的存储mapping配置项 与 doc_values详细介绍
  • [Spring]事务的传播机制
  • linux下,如何查看一个文件的哈希值md5以及sha264
  • Java类加载过程
  • 人脸活体检测技术的应用,有效避免人脸识别容易被攻击的缺陷
  • 大数据发展史
  • 有关范数的学习笔记
  • 如何通过MES系统提高生产计划效率?