ホームページ >Java >&#&チュートリアル >MapStruct が Lombok の @Getter および @Setter 注釈を認識できないのはなぜですか?それを修正するにはどうすればよいですか?
MapStruct と Lombok を統合すると、「不明なプロパティ」というエラーが発生する可能性があります...結果の型に ..." エンティティおよび DTO クラスで @Getter および @Setter アノテーションを使用する場合 一緒に。この問題は、両方のライブラリのバージョンに互換性があるにもかかわらず発生します。
この問題は、Maven が Lombok プロセッサを無視して MapStruct プロセッサのみを使用するために発生します。これを解決するには:
Maven コンパイラー プラグイン設定で、Lombok 依存関係を annotationProcessorPaths リストに追加します:
<annotationProcessorPaths> <path> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${org.projectlombok.version}</version> </path> ... </annotationProcessorPaths>
さらに、Lombok 1.18.16 および上記では、次のパスを追加します:
<path> <groupId>org.projectlombok</groupId> <artifactId>lombok-mapstruct-binding</artifactId> <version>0.2.0</version> </path>
または、MapStruct プロセッサを依存関係として追加し、annotationProcessorPaths:
<dependencies> <dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-processor</artifactId> <version>${org.mapstruct.version}</version> </dependency> </dependencies>
注: 内部的な問題が発生しないようにするには、オプション 1 をお勧めします。 MapStruct クラスはコード内で参照されます。
IntelliJ で注釈処理を有効にするには、[IntelliJ の問題 IDEA-150621](https:/) により、提供された依存関係として MapStruct プロセッサを追加します。 /youtrack.jetbrains.com/issue/IDEA-150621).
以上がMapStruct が Lombok の @Getter および @Setter 注釈を認識できないのはなぜですか?それを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。