wyklucz src / main / java z kompilacji z maven-compiler-plugin

Sep 03 2020

Czy ktoś wie, jak usunąć źródła źródłowe z wtyczki 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

Ponieważ generuję źródło z lombok-maven-plugin z C: \ Workspace \ Dev01 \ Internet_Login \ src \ main \ java, ale wtyczka maven-compiler-plugin używa obu źródeł źródłowych i otrzymuję błąd kompilacji.

Po kompilacji używam Aspectj, więc muszę to zrobić w ten sposób, ponieważ Lombok i Aspectj są „niekompatybilne”.

Czy ktoś ma rozwiązanie.

EDYTOWAĆ :

Mam rozwiązanie. Po prostu zdefiniuj katalog sourceDirectory w kompilacji, a kompilator użyje tego katalogu.

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

Dzięki

Odpowiedzi

Seeker Sep 03 2020 at 13:42

próbowałeś z wykluczeniami?

<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

Jak zasugerował Chrylis, src/main/lombokpodczas korzystania z tej wtyczki powinieneś umieścić wszystkie klasy z adnotacjami Lombok w . Jest to wyraźnie udokumentowane na stronie użytkowania .

Istnieje również przykładowy projekt, w którym można zobaczyć, jak proste klasy Java bez adnotacji Lombok są umieszczane w, src/main/javaa cele Lombok w src/main/lombok.

Po prostu postępuj zgodnie z instrukcjami i powinieneś być w porządku w odniesieniu do wtyczki Maven Compiler. Jeśli chodzi o AspectJ, zależy to od tego, jak chcesz splatać swoje aspekty (czas kompilacji, tkanie binarne, czas ładowania) i czy aspekty znajdują się w tym samym, czy w innym module.