为什么 Lombok 生成的构造函数和 getter 在我的 Spring Boot 项目中不起作用?

问题描述 投票:0回答:1

我正在 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 方法?新创建的项目是否存在特定的配置或设置问题?

java spring spring-boot intellij-idea lombok
1个回答
0
投票

检查您的Lombok版本,并确保pom.xml文件中的插件配置保持不变。有时在 IntelliJ 中使缓存失效是无效的。

© www.soinside.com 2019 - 2024. All rights reserved.