wyklucz src / main / java z kompilacji z maven-compiler-plugin
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
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>
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.