MapStruct与lombok版本不兼容报错问题
起因
项目中引入了MapStruct
,在编译构建的时候碰到一个报错:
java: No property named “XXX” exists in source parameter(s). Did you mean “null” |
检查配置
pom文件是否配置插件
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<encoding>UTF-8</encoding>
<source>${maven.compiler.source}</source>
<target>${maven.compiler.target}</target>
<annotationProcessorPaths>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${mapstruct.version}</version>
</path>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</path>
<path>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<version>${springboot.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
</build>在
maven
插件里有正确配置相关插件。是否有引入相关依赖
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
<scope>compile</scope>
</dependency>有正确引入依赖。
原因
最后通过查询网上资料发现,lombok
与mapstruct
的版本太高会出现这个问题。
修改pom
文件:
- <lombok.version>1.18.20</lombok.version> |
将版本修改之后问题解决。