Maison >Java >javaDidacticiel >Pourquoi mon projet ne parvient-il pas à se compiler lorsque j'utilise MapStruct et Lombok ensemble ?
L'intégration de MapStruct et Lombok avec le projet ne se compile pas
Problème :
Lors de l'utilisation de MapStruct et Lombok ensemble dans un projet, des erreurs surviennent en raison de la propriété inconnue "id" dans le type de résultat lorsque les getters et les setters sont supprimés avec les annotations @Getter et @Setter.
Résolution :
Le problème vient du fait que Maven utilise uniquement le processeur MapStruct mais pas le processeur Lombok. Pour résoudre ce problème, deux options sont disponibles :
Option 1 : Ajouter une dépendance Lombok aux chemins du processeur d'annotation
Modifier la configuration maven-compiler-plugin dans pom.xml pour inclure la dépendance de Lombok dans le annotationProcessorPaths :
<!-- Maven Compiler Configuration --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.6.1</version> <configuration> <!-- ... Existing Configuration Snippet --> <annotationProcessorPaths> <!-- Lombok Dependency --> <path> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${org.projectlombok.version}</version> </path> <!-- MapStruct Dependency --> <path> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-processor</artifactId> <version>${org.mapstruct.version}</version> </path> </annotationProcessorPaths> </configuration> </plugin>
Option 2 : Ajouter une dépendance MapStruct-Processor
Vous pouvez également ajouter la dépendance mapstruct-processor aux dépendances dans pom.xml et supprimer le annotationProcessorPaths :
<!-- Maven Dependencies --> <dependencies> <!-- ... Existing Dependencies Snippet --> <!-- MapStruct Processor Dependency --> <dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-processor</artifactId> <version>${org.mapstruct.version}</version> </dependency> </dependencies>
Notes supplémentaires :
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!