我正在使用 AJDT(AspectJ 开发工具)Eclipse 插件。
我写了以下建议:
package com.exemple.aop.aspect;
import com.exemple.aop.bean.impl.MyBeanImpl.Iface;
aspect MyAspect {
// pointcut
pointcut clientMethod(Iface p) : target(p) && call(String com.exemple.aop.bean.impl.MyBeanImpl$Client.doSomething());
// advice
// **LINE JUST BELOW IS MARKED AS ERROR**
after(Iface p) returning(Object x): clientMethod(p) {
System.out.println("Returning from client method");
System.out.println("Target: " + p);
System.out.println("Return: " + x);
}
}
我编写了一个有效的单元测试:在控制台中可以看到痕迹。
但是,当使用 AspectJ/Java 编辑器打开 Java 文件时,我的 Eclipse UI 在“ after(Iface p) returned(Object x): clientMethod(p) { ”行显示错误,它说:
此行有多个标记
此方法必须返回 int 类型的结果
此行有 2 个 AspectJ 标记
请注意,该项目在“项目资源管理器”视图中未标记错误标志。
有谁知道或知道为什么 Eclipse AJDT 插件显示错误“此方法必须返回 int 类型的结果”?
谢谢!