无法在 STS 中获取 lombok 功能

Not able to get the lombok features in STS

我在 windows 上使用 STS。我已将 lombok.jar 添加到我的项目中。

我可以访问注释,但未生成 getter 和 setter。如果我尝试访问不存在的 getter 或 setter 方法,我会遇到同样的错误。我可能缺少什么?

这是代码片段

豆豆:

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Employee {

    private String name;
    private String address;
    private String location;

}

Pom.xml:

    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

<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>
    </plugins>
</build>

Lombok 是一个代码生成器。它不需要作为构建目标的一部分包含在内,因此它应该作为 provided dependency:

包含在您的 Maven 中
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.20</version>
    <scope>provided</scope>
</dependency>

您还需要确保将注释处理器设置为 运行 作为 Maven 构建的一部分。 (还有在上面link)

我不使用 eclipse,但您可能还想安装 lombok plugin for eclipse 以便 eclipse 知道 getter 和 setter 不在代码文件中但会生成。