Lombok和MapStruct冲突导致无法生成正确的class文件。
lombok自动生成getset等冗余代码。
MapStruct对象copy。传统的BeanUtils.copy等利用的反射原理,效率较低,MapStruct使用的是getter/setter方法,效率高。
因为两者都利用了Annotation processor原理,在编译期自动生成class文件。
需要在pom.xml中分别指定编译使用的插件
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> <annotationProcessorPaths> <!-- Lombok 在编译时插件 --> <path> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> </path> <!-- MapStruct 在编译插件 --> <path> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-processor</artifactId> <version>${mapstruct.version}</version> </path> </annotationProcessorPaths> </configuration> </plugin> </plugins> </build>
标签:MapStruct,1.8,mapstruct,冲突,org,Lombok,lombok From: https://www.cnblogs.com/ztfcb/p/16771386.html