除了
provided
范围内的依赖项之外,您还必须启用注释处理(如果您使用的是 IntelliJ Idea)并安装 Lombok 插件。
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
<scope>provided</scope>
</dependency>
注释处理:导航至
File
-> Settings
-> Build, Execution, Deployment
-> Compiler
-> Annotation Processors
并选中 Enable annotation processing
。
Lombok 插件:导航至
File
-> Settings
-> Plugins
并确保已安装 Lombok 插件。
重新启动 IntelliJ Idea - 最可能遗漏的部分:)
假设您使用 IntelliJ:您必须安装 Lombok Plugin 才能使其工作:
File > Settings > Plugins
Lombok Plugin
就我而言,我使用了
@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
}
如果您在父模块中有多个模块作为微服务,则将以下代码放入父模块的 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 中,转到设置 -> 构建、执行、部署 -> 编译器 -> 注释处理器 选择从每个模块的项目类路径获取处理器。