Maison >Java >javaDidacticiel >Comment corriger les erreurs « Propriété inconnue » lors de l'utilisation de MapStruct avec Lombok ?
Intégration de MapStruct et Lombok : résolution de l'erreur « Propriété inconnue »
Lors de l'utilisation de MapStruct avec les annotations Lombok, vous pouvez rencontrer une erreur indiquant " Propriété inconnue dans le type de résultat." Cette erreur se produit car Maven utilise uniquement le processeur MapStruct et non le processeur Lombok.
Option 1 : Modifier le plugin du compilateur Maven
Mettre à jour la configuration du plugin maven-compiler-plugin pour inclure à la fois le processeur d'annotations Lombok et MapStruct 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 : déclarer MapStruct en tant que dépendance
Vous pouvez également ajouter la dépendance mapstruct-processor à la section des dépendances principales et supprimer l'annotationProcessorPaths :
<dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-processor</artifactId> <version>${org.mapstruct.version}</version> </dependency>
Considérations supplémentaires pour IntelliJ
Pour éviter les erreurs IntelliJ, ajoutez le mapstruct-processor en tant que dépendance fournie :
<dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-processor</artifactId> <version>${org.mapstruct.version}</version> <scope>provided</scope> </dependency>
Remarque pour les versions de Lombok
Pour les versions 1.18.16 et supérieures de Lombok, vous aurez besoin de la dépendance lombok-mapstruct-binding pour garantir une bonne intégration. avec MapStruct.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!