MapperStruct生成的实现了为空
按照在MapperStruct官网Installation – MapStruct中的方法配置后,生成的实现了是空的,如下:
@Override
public DeployHistory toEntity(DeployHistoryDto arg0) {
if ( arg0 == null ) {
return null;
}
DeployHistory deployHistory = new DeployHistory();
return deployHistory;
}
@Override
public DeployHistoryDto toDto(DeployHistory arg0) {
if ( arg0 == null ) {
return null;
}
DeployHistoryDto deployHistoryDto = new DeployHistoryDto();
return deployHistoryDto;
}
使用的lombok版本过高
我在查阅了很多资料后终于解决问题了。需要在pom.xml中添加插件lombok-mapstruct-binding,完整的配置如下:
<properties>
<lombok.version>1.18.24lombok.version>
<mapstruct.version>1.5.5.Finalmapstruct.version>
<lombok-mapstruct-binding.version>0.2.0lombok-mapstruct-binding.version>
properties>
<dependencies>
<dependency>
<groupId>org.mapstructgroupId>
<artifactId>mapstructartifactId>
<version>${mapstruct.version}version>
dependency>
<dependency>
<groupId>org.mapstructgroupId>
<artifactId>mapstruct-processorartifactId>
<version>${mapstruct.version}version>
<optional>trueoptional>
dependency>
dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.pluginsgroupId>
<artifactId>maven-compiler-pluginartifactId>
<version>3.8.1version>
<configuration>
<source>17source>
<target>17target>
<annotationProcessorPaths>
<path>
<groupId>org.mapstructgroupId>
<artifactId>mapstruct-processorartifactId>
<version>${mapstruct.version}version>
path>
<path>
<groupId>org.projectlombokgroupId>
<artifactId>lombokartifactId>
<version>${lombok.version}version>
path>
<path>
<groupId>org.projectlombokgroupId>
<artifactId>lombok-mapstruct-bindingartifactId>
<version>${lombok-mapstruct-binding.version}version>
path>
annotationProcessorPaths>
configuration>
plugin>
plugins>
build>
欢迎大家关注我的号和博客
