我正在 IntelliJ IDEA 中开发 Spring Boot 项目,在尝试创建类的实例并调用其 getter 方法时遇到以下错误: 检查图像以了解我的问题和错误是什么
错误:
java: com.example.HealthCare.User 类中的构造函数 User 不能应用于给定类型;
必需:无参数
发现:java.lang.String
原因:实际参数列表和形式参数列表的长度不同
我在 User 类中使用 Lombok 注释(@Data、@NoArgsConstructor 和 @AllArgsConstructor)来自动生成构造函数和 getter/setter 方法。相关代码如下:
用户.java
package com.example.HealthCare;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
private String name;
}
HealtCareApplication.java
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class HealthCareApplication {
public static void main(String[] args) {
SpringApplication.run(HealthCareApplication.class, args);
User user = new User("Shubham");
System.out.println(user.getName());
}
}
我尝试过的步骤:
已验证 IntelliJ IDEA 中是否启用了注释处理。 检查了Lombok插件版本、Spring Boot版本和我的系统(Ubuntu)。所有这些都已正确设置并且是最新的。 多次清理和重建项目。 当我从其他来源克隆一个工作项目时,相同的设置可以工作。但是,当我使用类似的配置从头开始创建一个新项目时,就会出现此问题。
我的环境:
操作系统:Ubuntu 24.04 Spring Boot版本:3.4.0 龙目岛版本: 1.18.30 IDE:IntelliJ IDEA 2024.3.1
尽管所有内容都已正确配置,但为什么 Lombok 没有在我的项目中生成构造函数和 getter 方法?新创建的项目是否存在特定的配置或设置问题?
检查您的Lombok版本,并确保pom.xml文件中的插件配置保持不变。有时在 IntelliJ 中使缓存失效是无效的。