报错图片我没了,大概就是题目说的,今天我打开程序准备运行,结果报错,代码动都没动,前几天还能运行,今天却垮了,解决方案:

打开pom文件

注释插件

修改 Lombok版本号

不知道自己maven版本号的 ,打开右侧maven查看

然后右上角加载maven更改

问题解决,运行成功,然后你会神奇的发现,现在即使你恢复注释前和配置版本号之前,你也能运行

其他解决方案

刷新缓存

我在网上查的时候看到有人说刷新缓存(就是左上角文件里的是缓存失效)有用,我试了没用

重启电脑 

还有人说重启也可以,我试了,对我没用

有时候就是会有这些奇奇怪怪的毛病,而且在我调试的时候发现一个让我震惊的事情,我打开了另一个项目,居然可以用全参注解,就是导致报错的那个注解,这个新打开的项目和报错的那个项目pom基本一样,报错项目中pom文件注释掉的代码另一个项目也有,但是就是没报错,简直气煞我也!!!

几个小时后,最让人无语的事情来了,我正用着新打开的项目呢,直接和上面一样的报错,没有构造器,就是检测不到全参构造呗,无语死了,幸好我有解决经验,不到十分钟搞定了

解决原理:

1.注解处理器冲突

项目中存在多个注解处理器(Java中是有内置的注解处理器,我们还配置了Lombok,所以有多个),它们在处理过程中相互干扰。maven-compiler-plugin 中对 Lombok 注解处理器的配置,可能与其他注解处理器(或编译器本身)在处理顺序、处理逻辑上产生冲突,导致 Lombok 不能正确生成全参构造。注释掉该插件配置后,这种冲突消失,Lombok 得以正常工作。

2.版本兼容性问题

maven-compiler-plugin 插件版本、Lombok 版本以及项目使用的 JDK 版本之间,可能存在兼容性问题。例如,插件配置要求的注解处理器运行环境,与 Lombok 实际所需的运行环境不一致,影响 Lombok 生成全参构造。注释掉插件配置后,编译器使用默认处理方式,刚好契合 Lombok 的运行条件。

可尝试更新 maven-compiler-plugin 插件和 Lombok 至最新稳定版本

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐