使用mapstruct SPI

时间:2016-07-09 19:44:00

标签: mapstruct

我试图让maptruct使用不同的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是否仍支持此功能。是否有人在您的项目中使用自定义命名策略。

1 个答案:

答案 0 :(得分:1)

我实际上得到了它

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

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