@AllArgsConstructor等lombok注解不生效
Posted 玛丽莲茼蒿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了@AllArgsConstructor等lombok注解不生效相关的知识,希望对你有一定的参考价值。
一、问题
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不再以依赖包的方式使用,而是改为以插件的方式使用了。
以上是关于@AllArgsConstructor等lombok注解不生效的主要内容,如果未能解决你的问题,请参考以下文章
Java Lombok:在@AllArgsConstructor 中省略一个字段?
Lombok常用注解(一)@Data @RequiredArgsConstructor @NoArgsConstructor @AllArgsConstructor
@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor
lombok idea gradle @AllArgsConstructor(staticName = "of")找不到符号