excluir src / main / java da compilação com maven-compiler-plugin

Sep 03 2020

Alguém sabe como remover as raízes do código-fonte do 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

Porque eu gero o código-fonte com lombok-maven-plugin de C: \ Workspace \ Dev01 \ Internet_Login \ src \ main \ java, mas o maven-compiler-plugin usa raízes de código-fonte e recebo um erro de compilação.

Depois de compilar, eu uso o Aspectj, então preciso fazer dessa forma, porque o Lombok e o Aspectj são "incompatíveis".

Alguém tem uma solução.

EDITAR:

Eu tenho uma solução. Basta definir o sourceDirectory no build e o compilador usará esse diretório.

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

THX

Respostas

Seeker Sep 03 2020 at 13:42

você tentou com exclusões?

<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

Como Chrylis sugeriu, você deve colocar quaisquer classes com anotações do Lombok src/main/lombokao usar esse plug-in. Isso está claramente documentado em sua página de uso .

Há também um projeto de amostra em que é possível ver como as classes Java simples, sem anotações do Lombok, são colocadas src/main/javae os destinos do Lombok são src/main/lombok.

Basta seguir as instruções e você deve estar bem em relação ao plugin do compilador Maven. Quanto a AspectJ, depende de como você deseja tecer seus aspectos (tempo de compilação, tecelagem binária, tempo de carregamento) e se os aspectos residem no mesmo ou em outro módulo.