我刚刚试过了你的切入点表达式,它在静态方法和非静态方法上都能正常工作。我使用了AspectJ weaver 1.8.7。尝试将-showWeaveInfo
和-verbose
添加到您的aop.xml以获取LTW上的调试信息。
<!DOCTYPE aspectj PUBLIC "-//AspectJ//DTD//EN" "http://www.eclipse.org/aspectj/dtd/aspectj.dtd">
<aspectj>
<weaver options="-showWeaveInfo -verbose">
<include within="q35218146..*" />
</weaver>
<aspects>
<aspect name="q35218146.Aspect35218146"/>
</aspects>
</aspectj>
它应该给你输出做类似的标准错误:
[[email protected]] weaveinfo Join point 'method-execution(void q35218146.
Test35218146.executeTasks())' in Type 'q35218146.Test35218146' (Test35218146.java:6)
advised by before advice from 'q35218146.Aspect35218146' (Aspect35218146.java)
@Kris:我同意,它有两个静态和非静态工作,除非你也改变了其他因素,如(子)包名称或方法可见性。如果没有,请显示可重复使用的[SSCCE](http://sscce.org/)。 – kriegaex
忘记将“-verbose”添加到织布工选项。我编辑了我的答案以包含该选项。 –