Я экспериментирую с аспектно-ориентированным программированием. Я установил AspectJ-Plugin в Eclipse и выполнил все шаги, упомянутые в этом tutorial.
Все соединения между созданными аспектами работы, но когда я пытаюсь запустить проект, я получаю следующее исключение:AspectJ: VerifyError
HelloException in thread "main" java.lang.VerifyError: Expecting a stackmap frame at branch target 6 in method helloworld.World.<clinit>()V at offset 0
at helloworld.Hello.sayHello(Hello.java:11)
at helloworld.Hello.main(Hello.java:6)
Когда я пустой класс World.aj и запустить проект, все работает и Я получаю ожидаемое «Hello» в консоли.
Вот классы I, созданные во время урока:
Hello.java
package helloworld;
public class Hello {
public static void main(String[] args) {
sayHello();
}
public static void sayHello() {
System.out.print("Hello");
}
}
World.aj
package helloworld;
public aspect World {
pointcut greeting() : execution(* Hello.sayHello(..));
after() returning() : greeting() {
System.out.println(" World!");
}
}