kecualikan src / main / java dari kompilasi dengan maven-compiler-plugin

Sep 03 2020

Adakah yang tahu cara menghapus akar Sumber dari maven-compiler-plugin?

[DEBUG] Source roots:
[DEBUG]  C:\Workspace\Dev01\Internet_Login\src\main\java
[DEBUG]  C:\Workspace\Dev01\Internet_Login\target\generated-sources\delombok

Karena saya membuat source dengan lombok-maven-plugin dari C: \ Workspace \ Dev01 \ Internet_Login \ src \ main \ java tetapi maven-compiler-plugin menggunakan keduanya Source root dan saya mendapatkan kesalahan kompilasi.

Setelah kompilasi, saya menggunakan Aspectj jadi saya perlu melakukannya dengan cara ini, karena Lombok dan Aspectj "tidak kompatibel".

Apakah ada yang punya solusi.

EDIT:

Saya punya solusi. Cukup tentukan sourceDirectory di build dan compiler akan menggunakan direktori ini.

<build>
    <sourceDirectory>${project.build.directory}/generated-sources/delombok</sourceDirectory>
    ...
</build>

Terima kasih

Jawaban

Seeker Sep 03 2020 at 13:42

apakah kamu mencoba dengan pengecualian?

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
   <configuration>
        <excludes>
            <exclude>src/main/java/</exclude>
        </excludes>                  
    </configuration>
</plugin>
kriegaex Sep 05 2020 at 02:24

Seperti yang disarankan Chrylis, Anda harus menempatkan kelas apa pun dengan penjelasan Lombok src/main/lomboksaat menggunakan plugin itu. Ini dengan jelas didokumentasikan di halaman penggunaannya .

Ada juga proyek contoh di mana Anda dapat melihat bagaimana kelas-kelas Java biasa tanpa penjelasan Lombok ditempatkan src/main/javadan target Lombok di dalamnya src/main/lombok.

Ikuti saja petunjuknya dan Anda akan baik-baik saja dengan plugin Maven Compiler. Adapun AspectJ, itu tergantung pada bagaimana Anda ingin menenun aspek Anda (waktu kompilasi, tenun biner, waktu muat) dan apakah aspek tersebut berada dalam modul yang sama atau modul lainnya.