1

我试图让 mapstruct 使用不同的 setter 命名约定处理 bean。项目中的一些 bean 的名称类似于withValue(string val)

根据文档,可以在项目中实现 AccessorNamingStrategy 并配置 SPI。基于此,我创建了自己的 NamingStrategy 并在我的项目中创建了以下文件

/META-INF/services/org.mapstruct.ap.spi.AccessorNamingStrategy 其中包含我的自定义实现的完全限定名称。

但我似乎无法让 spi 为我的自定义命名策略工作。

深入到 Options.java 我发现属性“ mapstruct.alwaysGenerateServicesFile”需要设置为 true。但是 intelliJ 中的注释处理器似乎拒绝此属性,因为任何注释处理器都无法识别。

我还看到这个属性“ mapstruct.alwaysGenerateServicesFile”没有记录在http://mapstruct.org/documentation/1.1/reference/html/index.html#configuration-options

MapStruct 是否仍支持此功能。是否有人在您的项目中使用了自定义命名策略。

4

1 回答 1

2

我真的明白了

需要打包/META-INF/services/org.mapstruct.ap.spi.AccessorNamingStrategy

并将其 CustomNamingStrategy放在一个单独的 jar 中并将其包含在主项目中。

于 2016-07-10T16:06:35.923 回答