如何修复:IntelliJ 中似乎无法识别 Lombok builder() 方法?

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

我不确定我做错了什么。有人可以帮我吗

POM: enter image description here

实施: enter image description here

使用方法如下: enter image description here

builder()方法似乎无法识别。我正在使用 IntelliJ。我有什么遗漏的吗?

以下是我的智能设置:

IntellijSettings - 1

IntellijSettings - 2

java intellij-idea builder lombok
4个回答
2
投票

除了

provided
范围内的依赖项之外,您还必须启用注释处理(如果您使用的是 IntelliJ Idea)并安装 Lombok 插件

  1. <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>${lombok.version}</version>
        <scope>provided</scope>
    </dependency>
    
  2. 注释处理:导航至

    File
    ->
    Settings
    ->
    Build, Execution, Deployment
    ->
    Compiler
    ->
    Annotation Processors
    并选中
    Enable annotation processing

    enter image description here

  3. Lombok 插件:导航至

    File
    ->
    Settings
    ->
    Plugins
    并确保已安装 Lombok 插件。

    enter image description here

  4. 重新启动 IntelliJ Idea - 最可能遗漏的部分:)


2
投票

假设您使用 IntelliJ:您必须安装 Lombok Plugin 才能使其工作:

  1. 前往
    File > Settings > Plugins
  2. 单击浏览存储库...
  3. 搜索
    Lombok Plugin
  4. 点击安装插件
  5. 重新启动 IntelliJ IDEA

1
投票

就我而言,我使用了

@Data
@NoArgsConstructor

为了让

@Builder
正常工作,我必须添加
@AllArgsConstructor

@NoArgsConstructor
似乎使 [all-args] 构造函数
@Data
无效。因此,要么只有
@Data
,要么同时拥有
@NoArgsConstructor
@AllArgsConstructor

@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class ThatGreatClassName implements Serializable {
    // code
}

@Data
@Builder
public class ThatGreatClassName implements Serializable {
    // code
}


0
投票

如果您在父模块中有多个模块作为微服务,则将以下代码放入父模块的 pom.xml 中:

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <annotationProcessorPaths>
                        <path>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </path>
                    </annotationProcessorPaths>
                </configuration>
            </plugin>
        </plugins>
    </build>

之后在 intellIJ 中,转到设置 -> 构建、执行、部署 -> 编译器 -> 注释处理器 选择从每个模块的项目类路径获取处理器。

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