IntelliJ IDE中具有@RequiredArgsConstructor错误的实体

Cha*_*ith 6 java spring intellij-idea spring-data spring-boot

我正在尝试运行示例Spring引导应用程序,并且遇到了在我的IDE上标记为@RequiredArgsConstructor的实体的问题。我在Java 1.8上使用最新的intelliJ IDEA(14.1)。当我尝试使用构造函数参数初始化实体时,在IDE上标记了一个错误。

例如,将在下一行显示“无法解析符号”。

itemRepository.save(new Item("MacBook Pro"));
Run Code Online (Sandbox Code Playgroud)

我的实体如下。

@Entity
@Data
@RequiredArgsConstructor
public class Item {

    private @Id @GeneratedValue Long id;
    private final String description;

    Item() {
        this.description = null;
    }
}
Run Code Online (Sandbox Code Playgroud)

除了IDE错误之外,项目的构建和正常运行。

Boh*_*rdt 6

您正在运行的示例项目使用Lombok,该库可以基于注释(例如@RequiredArgsConstructor)为您生成很多样板代码(例如getter和setter )。这很有用,但是因为代码是在编译期间生成的,所以IDE无法看到它,因此会显示错误。

您必须安装Lombok插件,以使IntelliJ知道该构造函数确实存在,但在编译过程中会生成。然后错误将消失。

您也可以在这篇文章中查看有关Lombok如何在引擎盖下工作的更多详细信息。