2016-07-09 7 views
0

私はmapstructを別のセッターの命名規則でBeanで動作させようとしています。プロジェクト内の一部のBeanは、名前に似ていますwithValue(string val)mapstructでのカスタムネーミング戦略SPI

ドキュメントに基づいて、プロジェクトでAccessorNamingStrategyを実装し、SPIを設定することができます。 はこれに基づき、私は私自身のNamingStrategyを作成し、その中に私のカスタム実装の完全quaified名前で私のプロジェクト

/META-INF/services/org.mapstruct.ap.spi.AccessorNamingStrategy で作成された以下のファイルを持っています。

しかし私はカスタム命名戦略のためにspiを働かせるように見えなかった。

Options.javaを掘り起こすプロパティ "mapstruct.alwaysGenerateServicesFile"をtrueに設定する必要があります。 しかし、intelliJの注釈プロセッサは、注釈プロセッサのいずれによっても認識されないので、このプロパティを拒否しているようです。

私も、このプロパティを参照してください「mapstruct.alwaysGenerateServicesFilehttp://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