У меня проблема с применением аспектов к моему проекту maven. Наверное, я что-то упустил, поэтому сделал список шагов. Не могли бы вы проверить, правильно ли это?
Скажем, в projectA
есть класс аспект и класс projectB
, который должен быть изменен по аспектам.
- Создайте проект maven
projectA
сAspectJ
class - добавить
AspectJ
плагин и зависимость - Добавить
projectA
как зависимость отprojectB
pom.xml
- Добавить в
projectB
pom.xml
плагин
"
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>test-compile</goal>
</goals>
</execution>
</executions>
<configuration>
<source>${maven.compiler.source}</source>
<target>${maven.compiler.target}</target>
<aspectLibraries>
<aspectLibrary>
<groupId>ProjectA</groupId>
<artifactId>ProjectA</artifactId>
</aspectLibrary>
</aspectLibraries>
</configuration>
</plugin>
- Добавить аспектную зависимость
После всех этих шагов моя проблема заключается в том, что во время компиляции я получаю:
[WARNING] advice defined in AspectE has not been applied [Xlint:adviceDidNotMatch]
И затем, когда я запускаю свою программу:
Exception in thread "FeatureExcutionThread" java.lang.NoClassDefFoundError: AspectE