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,我用的插件是这个:

    Intellij 安装配置 lombok-LMLPHP

  3. 配置使用 annotation

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

    Intellij 安装配置 lombok-LMLPHP

  4. 重新 build 一下

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

    Intellij 安装配置 lombok-LMLPHP

  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 就会报错:

    Intellij 安装配置 lombok-LMLPHP

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

Intellij 安装配置 lombok-LMLPHP

参考

10-14 07:21