Rumah >Java >javaTutorial >Mengapa Projek Saya Gagal Disusun Apabila Menggunakan MapStruct dan Lombok Bersama?
MapStruct dan Integrasi Lombok dengan Projek Tidak Menyusun
Isu:
Apabila menggunakan MapStruct dan Lombok bersama-sama dalam projek, ralat timbul kerana sifat "id" yang tidak diketahui dalam jenis hasil apabila getter dan setter dialih keluar dengan anotasi @Getter dan @Setter.
Penyelesaian:
Isu ini berpunca daripada Maven menggunakan hanya pemproses MapStruct tetapi bukan pemproses Lombok. Untuk menangani perkara ini, dua pilihan tersedia:
Pilihan 1: Tambahkan Ketergantungan Lombok pada Laluan Pemproses Anotasi
Ubah suai konfigurasi maven-compiler-plugin dalam pom.xml ke termasuk pergantungan Lombok dalam 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>
Pilihan 2: Tambah MapStruct-Processor Dependency
Sebagai alternatif, tambahkan mapstruct-processor dependencies pada dependencies dalam pom.xml dan alih keluar 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>
Nota Tambahan:
Atas ialah kandungan terperinci Mengapa Projek Saya Gagal Disusun Apabila Menggunakan MapStruct dan Lombok Bersama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!