Spring Boot 配置 MapStruct 1.42 出现 java: No property named

使用 MapStruct 1.4.2.Final 和 lombok (1.18.20) 注解后,出现 No property named “XXX“ exists in source parameter(s). Did you mean “null“。

<dependency>
    <groupId>org.mapstruct</groupId>
    <artifactId>mapstruct</artifactId>
    <version>${org.mapstruct.version}</version> <!--1.4.2.Final-->
</dependency>

解决方法 : 在pom.xml -> build-> plugins 下加入 lombok-mapstruct-binding

 <plugin>
     <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-compiler-plugin</artifactId>
     <version>3.8.1</version>
     <configuration>
         <source>1.8</source>
         <target>1.8</target>
         <encoding>UTF-8</encoding>
         <annotationProcessorPaths>
             <path>
                 <groupId>org.mapstruct</groupId>
                 <artifactId>mapstruct-processor</artifactId>
                 <version>${org.mapstruct.version}</version>
             </path>
             <path>
                 <groupId>org.projectlombok</groupId>
                 <artifactId>lombok</artifactId>
                 <version>${lombok.version}</version>
             </path>
             <path>
                 <groupId>org.projectlombok</groupId>
                 <artifactId>lombok-mapstruct-binding</artifactId>
                 <version>0.2.0</version>
             </path>
         </annotationProcessorPaths>
         <showWarnings>true</showWarnings>
         <compilerArgs>
             <arg>
                 -Amapstruct.suppressGeneratorTimestamp=true
             </arg>
             <arg>
                 -Amapstruct.suppressGeneratorVersionInfoComment=true
             </arg>
             <arg>
                 -Amapstruct.verbose=true
             </arg>
         </compilerArgs>
     </configuration>
</plugin>
posted @ 2021-08-14 11:26  arlin321  阅读(4898)  评论(0编辑  收藏  举报