mapstruct v1.3.1FINAL:不生成静态方法的导入

mapstruct v1.3.1FINAL: imports from static methods aren't generated

我们正在使用 mapstruct 1.3.1FINAL(与 lombok v1.18.4 结合使用)并且生成的 类 没有编译,因为表达式映射中使用的静态方法的导入没有产生。有什么线索吗?

@Mapping(target = "value", expression = "java(ValueUtil.getValue(sourceValue))")

生成的代码存在编译错误,因为缺少 ValueUtil 的导入:

request.setValue( ValueUtil.getValue(sourceValue) );

请尝试使用 ValueUtil 的完全限定 class 名称,即packagename.ValueUtil。这将为 mapstruct 提供上下文以定位 class.

您可以将导入语句添加到 @Mapper 注释中,正是针对这种情况。查看 documentation.

我终于明白了,尝试了 Sjaak 写的东西。

@Mapper(imports = { ValueUtil.class })

进口成功了。将尝试 Deepaks 的答案是否也有效。