AspectJ + Junit + Maven: corte de puntos reconocido en las pruebas pero NoSuchMethodError: aspectOf () excepción lanzada

He seguido casi todas las preguntas de JUnit + Maven + AspectJ aquí e incluso estoy bastante seguro de que tengo todo configurado correctamente, no puedo probarlo.

Tengo un módulo de Maven con un solo 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");
    }
}

Muy bonito simple Todo lo que quiero hacer es hacer algo antes y después de cada ejecución de cualquier método de prueba en mi proyecto de prueba que esté anotado con@Test.

Ahora estoy usandoaspectj-maven-plugin en mi<build> Me gusta esto:

<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) no tengocompile meta en<execution> porque no tengo clases ensrc/main/java (Eso es verdad y está bien, sé lo que estoy haciendo)

2) tengo

<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>

en mi<dependencies> sección. Nada más respecto a aspectj.

3) Estoy seguro de que mis clases de examen son reconocidas por aspectj porque veo que se recomendaron puntos de unión. Veo:

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))

Lo mismo vale para el consejo posterior.

4) cuando probé la versión 1.7.3 en lugar de la 1.6.11, me apareció este mensaje mientras se trataban los puntos de unión:expected 1.6.11 found 1.7.3. Supongo que es un mensaje deaspectj-maven-plugin de la versión 1.4, realmente no sé cuándo se lanzará la versión 1.5 para deshacerse de esto. ¿Qué versiones son compatibles?

5) Mi "código" se ve así :)

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

    @Test
    public void test01(){
    }
}

6) Tengo el compilador Java Java 1.6.0_39, estoy compilando todo con 1.6 (destino, fuente ... todo)

Entonces, aspectos reconocidos, aplicados, voy a ejecutar pruebas comomvn clean test pero todo lo que consigo es que

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

y bastante largo stacktrace.

no tengoalguna Pista lo que podría estar mal, de verdad.

Respuestas a la pregunta(1)

Su respuesta a la pregunta