excluir src / main / java de la compilación con maven-compiler-plugin

Sep 03 2020

¿Alguien sabe cómo eliminar las raíces de una fuente de 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 genero fuente con lombok-maven-plugin desde C: \ Workspace \ Dev01 \ Internet_Login \ src \ main \ java pero el maven-compiler-plugin usa ambas raíces de fuente y obtengo un error de compilación.

Después de compilar, uso Aspectj, así que tengo que hacerlo de esta manera, porque Lombok y Aspectj son "incompatibles".

¿Alguien tiene una solución?

EDITAR:

Tengo una solucion Simplemente defina sourceDirectory en build y el compilador usará este directorio.

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

Gracias

Respuestas

Seeker Sep 03 2020 at 13:42

¿Intentaste con excluye?

<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 sugirió Chrylis, debe colocar cualquier clase con anotaciones de Lombok src/main/lombokcuando use ese complemento. Esto está claramente documentado en su página de uso .

También hay un proyecto de muestra donde puede ver cómo se colocan las clases simples de Java sin anotaciones de Lombok src/main/javay los objetivos de Lombok src/main/lombok.

Simplemente siga las instrucciones y debería estar bien con respecto al complemento Maven Compiler. En cuanto a AspectJ, depende de cómo quieras tejer tus aspectos (tiempo de compilación, tejido binario, tiempo de carga) y si los aspectos residen en el mismo módulo o en otro.