creo que el mecanismo se explica bastante bien en esta página:
Using Aspect Libraries
Básicamente:
Se pone todos sus aspectos en un mismo proyecto, compilar usando el aspectj-maven-plugin, agregar una dependencia de este proyecto para todos los proyectos que desea tejer y también añadir esta configuración para los proyectos tejidas:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.3</version>
<configuration>
<aspectLibraries>
<aspectLibrary>
<groupId>your.aspects.groupId</groupId>
<artifactId>your.aspects.artifactId</artifactId>
</aspectLibrary>
</aspectLibraries>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
La U gly parte es: necesita agregar esta configuración a cada proyecto, por lo que una posibilidad sería usar un pom padre. Por desgracia, tendría que estar en el mismo nivel que el proyecto aspectos (debido a un pom no puede definir una dependencia a un proyecto por debajo de ella), por lo que tendría algo como esto
------- root --------
/ \
aspects -------- java-parent ----
/ / | | \
java1 java2 java3 java4 java5
o incluso como este
------- root ---------
/ \
aspect-parent --- java-parent ---
/ \ / | | \
aspects1 aspects2 java1 java2 java3 java4
Se podría añadir tanto los <dependency>
y la configuración del plugin aspectj a la pom del proyecto java-matriz