MapStruct- und Lombok-Integration: Behebung des Fehlers „Unbekannte Eigenschaft“
Bei der Verwendung von MapStruct mit Lombok-Annotationen kann es zu einem Fehler kommen, der besagt: „ Unbekannte Eigenschaft im Ergebnistyp.“ Dieser Fehler entsteht, weil Maven nur den MapStruct-Prozessor und nicht den Lombok-Prozessor verwendet.
Option 1: Ändern Sie das Maven-Compiler-Plugin
Aktualisieren Sie die Maven-Compiler-Plugin-Konfiguration um sowohl den Lombok- als auch den MapStruct-Annotationsprozessor einzuschließen paths:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.6.1</version> <configuration> <annotationProcessorPaths> <path> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${org.projectlombok.version}</version> </path> <path> <groupId>org.projectlombok</groupId> <artifactId>lombok-mapstruct-binding</artifactId> <version>0.2.0</version> </path> <path> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-processor</artifactId> <version>${org.mapstruct.version}</version> </path> </annotationProcessorPaths> </configuration> </plugin>
Option 2: MapStruct als Abhängigkeit deklarieren
Alternativ können Sie die Abhängigkeit „mapstruct-processor“ zum Abschnitt „Hauptabhängigkeiten“ hinzufügen und die AnnotationProcessorPaths:
<dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-processor</artifactId> <version>${org.mapstruct.version}</version> </dependency>
Zusätzliche Überlegungen für IntelliJ
Um IntelliJ-Fehler zu verhindern, fügen Sie den Mapstruct-Prozessor als bereitgestellte Abhängigkeit hinzu:<dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-processor</artifactId> <version>${org.mapstruct.version}</version> <scope>provided</scope> </dependency>
Hinweis für Lombok-Versionen
Für Lombok-Versionen 1.18.16 und höher benötigen Sie die Abhängigkeit „lombok-mapstruct-binding“, um eine ordnungsgemäße Integration sicherzustellen mit MapStruct.Das obige ist der detaillierte Inhalt vonWie behebe ich „Unbekannte Eigenschaft'-Fehler bei der Verwendung von MapStruct mit Lombok?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!