一、发现问题的背景
在后端接口的编写时,调用了对应实体类的get、set方法,发现调用失败
对于user类,采用的是lombok中的@Data注解,按理说可以直接使用get、set方法,此时不行说明lombok注解没有生效。
二、注解未生效的原因(仅针对我个人)
我在初始化项目的时候直接勾选了lombok的选项
如图所示,idea自动给我生成了pom文件中的这部分内容
annotationProcessorPaths 是 maven-compiler-plugin 的一个配置项,专门用于指定注解处理器。
可以发现,自动生成出来的内容中没有指定lombok的版本,在编译的过程中可能就会出现无法正确找到对应的lombok的jar包,会发现一个unknown的jar包,是无效的。
图中所示就是一个unknown的jar包。
三、解决方法
第一种方法,不要在项目创建时引入,而是项目创建后直接在pom.xml
以<dependency>
的方式引入
(如果已经创建,可以删除掉对应注解处理器的pom配置内容,自己去将对应的lombok内容导入,然后重新加载一下maven就行。)
第二种方法,自己选择正确的处理器路径,如下图所示:
或者直接选择为从项目类路径获取处理器。