环境:

IntelliJ IDEA 2024.1 + Spring Boot + Maven


问题描述

使用Lombok中的@Data注解标注其中实体类的时候,依旧会出现找不到 get set 方法的问题


解决方案

先从通用的解决方案说起

再说到比较针对性的解决方案


方式1:

  • 检查是否安装 Lombok 插件

    image-20250515093928330

方式2

是否打开注解自动加载运行

image-20250515094349492

不止默认模块,项目对应模块也要开启

image-20250515094425419

方式3:

修改其中的存储相对于下列位置生成的源

image-20250515094502710

把需要启用注解处理的模块和默认模块中的,存储相对于下列位置生成的源,调整为模块内容根


方式4:

不要在项目创建时引入,而是项目创建后直接在pom.xml<dependency>的方式引入

1
2
3
4
5
6
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.30</version>
<optional>true</optional>
</dependency>

方式5

调整 Lombok 的版本

lombok注解加入1.18.30的版本号,并删除下方build中所有和lombok有关的配置。

注意版本一定得是1.18.30,并且不要忘记刷新maven仓库。

image-20250515094809800

方式6

删除 <build>下所有关于 Lombok 的 <plugins>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<build>
<plugins>
<!--
<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>
-->
<!--
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
-->
</plugins>
</build>

差不多这样问题就解决了

Lombok 插件与版本有关那个部分,我没有看到 Lombok 插件有提到限定版本,反之就 1.18.30 是可以的,高了不行,低了不行