AspectJ + Junit + Maven - pointcut reconhecido nos testes mas exceção NoSuchMethodError: aspectOf () lançada

Eu segui quase todas as questões do JUnit + Maven + AspectJ aqui e até tenho certeza que tenho tudo configurado corretamente, não posso testá-lo.

Eu tenho um módulo Maven com apenas um aspecto:

@Aspect
public class AssertionAspect {

    @Pointcut("execution(@org.junit.Test * *())")
    public void testMethodEntryPoint() {}

    @Before("testMethodEntryPoint()")
    public void executeBeforeEnteringTestMethod() {
        System.out.println("EXECUTE ACTION BEFORE ENTERING TEST METHOD");
    }

    @After("testMethodEntryPoint()")
    public void executeAfterEnteringTestMethod() {
        System.out.println("EXECUTE ACTION AFTER ENTERING TEST METHOD");
    }
}

Muito bem simples. Tudo o que eu quero fazer é fazer algo antes e depois de cada execução de qualquer método de teste no meu projeto de teste que seja anotado com@Test.

Agora estou usandoaspectj-maven-plugin no meu<build> como isso:

<build>
  <plugins>
    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>aspectj-maven-plugin</artifactId>
      <version>1.4</version>
      <configuration>
        <aspectLibraries>
          <aspectLibrary>
            <groupId>my.package</groupId>
            <artifactId>with-aspects</artifactId>
          </aspectLibrary>
        </aspectLibraries>
        <source>1.6</source>
        <target>1.6</target>
      </configuration>
      <executions>
        <execution>
          <goals>
            <goal>test-compile</goal>
          </goals>
          <configuration>
            <showWeaveInfo>true</showWeaveInfo>
          </configuration>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>

1) não tenhocompile meta em<execution> porque eu não tenho aulassrc/main/java (isso é verdade e está tudo bem, eu sei o que estou fazendo)

2) eu tenho

<dependency>
    <groupId>org.aspectj</groupId>
    <artifactId>aspectjrt</artifactId>
    <version>1.7.3</version>
</dependency>
<dependency>
    <groupId>org.aspectj</groupId>
    <artifactId>aspectjweaver</artifactId>
    <version>1.7.3</version>
</dependency>

no meu<dependencies> seção. Nada mais a respeito de aspectj.

3) Tenho certeza de que minhas classes de teste são reconhecidas por aspectj porque vejo que os pontos de junção foram recomendados. Entendo:

Join point 'method-execution(xyz)' in Type 'blabla' 
(AppTestCase.java:124) advised by before advice from 
'blabla' (my-aspects jar.jar!AssertionAspect.class(from AssertionAspect.java))

O mesmo vale para depois do conselho.

4) quando eu tentei a versão 1.7.3 em vez de 1.6.11, esta mensagem apareceu para mim enquanto os pontos de junção eram tratados:expected 1.6.11 found 1.7.3. Eu acho que é uma mensagem deaspectj-maven-plugin da versão 1.4, eu realmente não sei quando 1.5 será lançado para se livrar disso. Quais versões são compatíveis?

5) Meu "código" se parece com isso :)

@RunWith(JUnit4.class)
public class TestClass() {

    @Test
    public void test01(){
    }
}

6) Eu tenho 1.6.0_39 Oracle Java compilador, estou compilando tudo com 1.6 (alvo, fonte .. todos)

Então, aspectos reconhecidos, aplicados, vou executar testes comomvn clean test mas tudo que eu entendo é isso:

java.lang.NoSuchMethodError: 
my/aspect/AssertionAspect.aspectOf()Lmy/aspect/AssertionAspect;

e muito longo stacktrace.

eu não tenhoqualquer pista o que pode estar errado, realmente.

questionAnswers(1)

yourAnswerToTheQuestion