Maison > Java > javaDidacticiel > Comment corriger les erreurs « Propriété inconnue » lors de l'utilisation de MapStruct avec Lombok ?

Comment corriger les erreurs « Propriété inconnue » lors de l'utilisation de MapStruct avec Lombok ?

Susan Sarandon
Libérer: 2024-12-06 05:21:09
original
500 Les gens l'ont consulté

How to Fix

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal