@AllArgsConstructor等lombok注解不生效 | 补充lombok的使用
一、问题Java类用了@AllArgsConstructor的注解,但是在单元测试的时候依然提示只有无参的构造函数。二、问题分析及解决@AllArgsConstructor这个注解是lombok包里的。这个包我们已经在pom.xml文件加入项目依赖了,通过侧边栏可以看出确实下载下来了,源码也可以点进去。但是我们深入这个包看一下,发现lombok的依赖是空的。PS: 写给我自己看的因为项目里引入了s
一、问题
Java类用了@AllArgsConstructor的注解,但是在单元测试的时候依然提示只有无参的构造函数。
二、问题分析及解决
@AllArgsConstructor这个注解是lombok包里的。
这个包我们已经在pom.xml文件加入项目依赖了 ,通过侧边栏可以看出确实下载下来了,源码也可以点进去。
但是我们深入这个包看一下,发现lombok的依赖是空的。
PS: 写给我自己看的
因为项目里引入了spring-data-elasticsearch这个包,在深入这个包的时候,记得看到了有关lombok不能用的信息。
大概的意思是,我们在spring-data-elasticsearch中不再使用lombok了,但是仍然把lombok的版本写在父项目里(如下图)。只不过在spring-data-elasticsearch中将其版本写为999999,让maven强制在../src/test/resources/local-maven-repo/下生成一个lombok的空包。
不知道是否是这个原因导致了在test中无法使用lombok。
安装完成后,重启IDEA。问题解决!
三、总结
看起来应该是随着版本的升级,lombok不再以依赖包的方式使用,而是改为以插件的方式使用了。
对,就是这样的,Lombok作为依赖总会出现很多版本带来的问题,使用插件的方式就不会报错了。
四、lombok的使用
作用:简化程序员写pojo类的代码量。一个完整的pojo类除了成员变量,还得写无参构造方法、有参构造方法、setter方法、getter方法、toString方法、equals方法以及hashcode方法等等。有了lombok以后,只需要加一个注解就可以添加你想要的方法。
常用的注解有:
更多推荐
所有评论(0)