2016-07-09 3 views
0

Я пытаюсь заставить mapstruct работать с bean-компонентами с другим соглашением о присвоении имен сеттерам. Некоторые из компонентов в проекте называются такими, как withValue(string val)Стратегия CustomNaming с mapstruct SPI

На основе документации можно реализовать реализацию AccessorNamingStrategy в проекте и настройку SPI. Исходя из этого, я создал свой собственный NamingStrategy и имеют следующий файл, созданный в моем проекте

/META-INF/services/org.mapstruct.ap.spi.AccessorNamingStrategy с полностью quaified имя моей пользовательской реализации в нем.

Но я не мог заставить spi работать для моей собственной стратегии именования.

Копаем в Options.java Я нашел, что свойство «mapstruct.alwaysGenerateServicesFile» должно быть установлено в true. Но обработчик аннотаций в intelliJ, похоже, отвергает это свойство, поскольку он не реганизирован ни одним из обработчиков аннотаций.

Я также вижу это свойство «mapstruct.alwaysGenerateServicesFile» не документированы в http://mapstruct.org/documentation/1.1/reference/html/index.html#configuration-options

Является ли эта функция все еще поддерживается в MapStruct. Кто-нибудь получил пользовательскую стратегию именования, действующую в вашем проекте.

ответ

1

я на самом деле получил его

Нужно упаковать /META-INF/services/org.mapstruct.ap.spi.AccessorNamingStrategy

и CustomNamingStrategy в отдельную банку и включить его в основной проект.

+0

Рад, что вы нашли решение. Стратегия именования SPI также описана в MapStruct [справочном руководстве] (http://mapstruct.org/documentation/stable/reference/html/index.html#_custom_accessor_naming_strategy). – Gunnar

 Смежные вопросы

  • Нет связанных вопросов^_^