記一下在mapstruct結合lombok使用的衝突問題:
- 編譯時提示
@Mapping
配置的屬性找不到。 - 在生成Mapper的impl實現類時不能生成正確的bean的getter/setter語句。
解決方法:
需要在maven-compiler-plugin的annotationProcessorPaths
中同時配置lombok及mapstruct-processor。
並且lombok配置需要在前面。
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</path>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${mapstruct.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>