首頁 >Java >java教程 >為什麼 MapStruct 無法辨識 Lombok 的 @Getter 和 @Setter 註解,以及如何修復它?

為什麼 MapStruct 無法辨識 Lombok 的 @Getter 和 @Setter 註解,以及如何修復它?

Barbara Streisand
Barbara Streisand原創
2024-11-24 19:38:49823瀏覽

Why Does MapStruct Fail to Recognize Lombok's @Getter and @Setter Annotations, and How Can I Fix It?

MapStruct 與Lombok 映射中的未知@Getter 和@Setter 註釋

問題描述

集成MapStruct 和Lombok 可能會導致錯誤「未知屬性” ...在結果類型中...”在實體和DTO 上使用@Getter 和@Setter註解時一起上課。了Lombok 處理器。依賴項加入註解處理器路徑

在 Maven 編譯器外掛程式配置中,將 Lombok 依賴項新增至annotationProcessorPaths 清單:

另外,對於Lombok 1.18.16以上版本,新增以下內容路徑:

<annotationProcessorPaths>
    <path>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>${org.projectlombok.version}</version>
    </path>
    ...
</annotationProcessorPaths>
選項2:新增MapStruct 處理器依賴

或者,新增MapStruct 處理器作為依賴項並刪除註釋ProcessorPaths:

<path>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok-mapstruct-binding</artifactId>
    <version>0.2.0</version>
</path>
注意:建議使用選項1,以確保在MapStruct 中沒有引用任何內部MapStruct 類別。 -150621](https://youtrack.jetbrains.com /issue/IDEA-150621).

以上是為什麼 MapStruct 無法辨識 Lombok 的 @Getter 和 @Setter 註解,以及如何修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn