Lombok:构造函数未定义

6
我在一个使用Gradle构建的Spring项目中使用lombok。之前所有的东西都正常运行,突然出现了一些错误。
错误信息是“Constructor(Constructor name) is undefined”。
我已经使用@Data、@NoArgsConstructor、@AllArgsConstructor注解给所有的DTO类提供了构造函数,理论上应该所有的构造函数都可以使用。
我尝试用旧版和新版的Spring工具套件来构建项目,并且也更换了lombok的jar包,但是仍然出现相同或不同的错误。
我尝试过STS4和STS 3.9.7、3.9.8,但是问题依旧存在。
我尝试了lombok的1.16.22、1.18.0、1.18.2和1.18.8版本。
请帮我解决这个问题。

你是否遇到了编译时错误? - Snehal Patel
在命令行构建项目时,它能正常工作吗? - Martin Lippert
@Martin 是的,它可以通过命令行构建。 - Anjali
那么这似乎是Lombok与Eclipse集成的问题。您可以尝试使用纯净的Eclipse 2019-03安装,并添加Lombok,以查看是否有所不同 - 如果没有,请向Lombok项目报告此问题。 - Martin Lippert
我在使用Maven和Lombok 1.18.22时遇到了与VisualStudioCode相同的问题... super(“data”); 显示错误The constructor *** is undefined,并且无法在包含AllArgsConstructor注释的扩展类中找到。 - Marek Bernád
1个回答

0
可能是Lombok设置出了问题。
你是否按照以下步骤进行操作:
1. 将 lombok.jar 复制到 STS 安装路径下。 2. 运行命令并更新 STS 路径。
java -jar /path/to/your/lombok.jar
  1. 更新 STS.ini (也称为 SpringToolSuite4.ini),包括:
-javaagent:lombok.jar
  1. 重新启动STS/Eclipse。

设置Lombok的步骤


正如某人在您分享的页面的评论栏中所说:“你需要关闭STS/eclipse并重新启动。(重启不会生效)” - KiriSakow
1
不必复制JAR文件,您也可以在STS安装目录中创建一个符号链接,指向该JAR文件:ln -s ~/.m2/repository/org/projectlombok/lombok/1.18.24/lombok-1.18.24.jar lombok.jar - KiriSakow

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接