我刚刚克隆了一个带有一些映射结构映射器的存储库(1.3.1.Final),由于以下原因,构建失败:
java: No property named "" exists in source parameter(s). Did you mean "sourceField1"?
我将 mapstruct 更新为 version 1.4.2.Final,但结果相同。
查看代码,我发现我们有以下情况:
SourceClass与字段sourceField1, sourceField2,sourceField3TargetClass与字段targetField1, targetField2,notInSourceField @Mapper(componentModel = "spring")
public interface TheMapper {
@Mapping(target = "targetField1", source = "sourceField1")
@Mapping(target = "targetField2", source = "sourceField2")
@Mapping(target = "notInSourceField", source = "")
TargetClass mapToTarget(SourceClass source);
}
Run Code Online (Sandbox Code Playgroud)
为了解决上述错误,我将行更改source = ""为:
@Mapping(target = "notInSourceField", expression = "java(\"\")") //means that notInSourceField …