AspectJ尚未应用已定义的建议

时间:2015-05-11 12:48:44

标签: java eclipse aspectj

我有一个AspectJ - 项目的一个方面,可以让一些System.out.println来学习一些方面等。

问题是,我为裁剪定义的建议并不起作用。 显示的警告是:advice defined in ShapeAspect has not been applied [Xlint:adviceDidNotMatch]

我正在使用Mac OS X 10.10 Yosemite,Eclipse Luna Service Release 2(4.4.2)和AspectJ Runtime:org.aspectj.runtime_1.8.5.20150128171000.jar,用于LTW类等: org.aspectj.weaver_1.8.5.20150128171000.jar以及org.aspectj.ajde_1.8.5.20150128171000.jar。

我简单明确的方面:

public aspect ShapeAspect {
   // pointcuts
   pointcut myPointcut2() : execution(oldshape.Point.new(..));

  // advices
  before() : myPointcut2(){
    System.out.println("Before init.");
  }
}

编辑:包括Point类

 public class Point implements Shape{
    private int x,y;

    public Point(int x, int y){
      this.x = x; this.y = y;
    }

    ...
    @Override
    public void draw(GC gc) {
      Color c = new Color(gc.getDevice(), 0, 0, 255);
      gc.setForeground(c);
      gc.drawPoint(this.x, this.y);
      c.dispose();
    }
 }

public class SWTMain{

   public static void main(String[] args){
     Shape s1 = new Point(4,4);
     s1.draw(gc);
   }
}

before()..行是警告:advice defined in ShapeAspect has not been applied [Xlint:adviceDidNotMatch]

这里有什么问题?在我的带有Windows的PC上它可以正常工作吗?

0 个答案:

没有答案