为什么我必须在使用LOMBOK时在spring-boot-maven-plugin中添加排除?

f4t66c6m  于 2022-12-10  发布在  Spring
关注(0)|答案(1)|浏览(504)

我尝试在我的项目中使用Lombok。我的问题是我必须在POM.xml中添加Lombok依赖项,如下所示

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <optional>true</optional>
</dependency>

但是
a)为什么我必须在build标签下添加下面的代码?为什么需要下面的排除项?

<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>

B)为什么我需要安装LOMBOK插件作为IntelliJ idea设置的一部分?
有没有人能用简单明了的语言解释一下,让我的基础知识清楚一些?

ogq8wdun

ogq8wdun1#

a)Lombok是一个注解处理器,只在编译时需要,这就是它被排除的原因。
此配置明确地从目标工件中删除Lombox。
B)IntelliJ不使用Maven来编译您的代码。为了处理Lombok注解,必须激活IntelliJ插件。
IntelliJ使用内部机制来编译代码。
c)Lombok从注解中生成代码。

@Getter
public class Employee() {
  private String name;
}

将在编译时生成String getName()
因此,在运行时不需要Lombok。

相关问题