我剛剛試過了你的切入點表達式,它在靜態方法和非靜態方法上都能正常工作。我使用了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」添加到織布工選項。我編輯了我的答案以包含該選項。 –