penso che il meccanismo è spiegato abbastanza bene in questa pagina:
Using Aspect Libraries
In sostanza:
Hai messo tutti i tuoi aspetti in un unico progetto, compilare utilizzando l'aspectj-maven-plugin, aggiungere una dipendenza a questo progetto a tutti i progetti che si desidera tessere e anche aggiungere questo config ai progetti tessuti:
<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>
L'u la parte gly è: devi aggiungere questa configurazione ad ogni progetto, quindi una possibilità sarebbe quella di usare un pom genitore. Purtroppo, avrebbe dovuto essere allo stesso livello come il progetto gli aspetti (perché un pom non può definire una dipendenza per un progetto sotto di essa), in modo da sarebbe avere qualcosa di simile
------- root --------
/ \
aspects -------- java-parent ----
/ / | | \
java1 java2 java3 java4 java5
o anche come questo
------- root ---------
/ \
aspect-parent --- java-parent ---
/ \ / | | \
aspects1 aspects2 java1 java2 java3 java4
Faresti aggiungere sia la <dependency>
e la configurazione del plugin AspectJ alla pom del progetto Java-genitore
fonte
2010-11-18 13:56:15