我有一个Aspect类,它定义了一个切入点表达式,如下所示
@Pointcut("execution(* com.vg.pw.tasks.shared.*.executeTasks(..))")
public void myTraceCall() {}
其中executeTasks()方法是静态的。如果将方法设置为非静态,则每次调用executeTasks()
时都会执行方法体。为什么我的切入点对静态方法无效?
我用的是LTW,不是spring。
我刚刚试过你的切入点表达式,它可以在静态和非静态方法上正常工作。我使用了AspectJ weaver 1.8.7。尝试将-showWeaveInfo
和-verbose
添加到aop中。用于LTW上调试信息的xml。
<!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>
它应该在stderr上为您提供类似以下内容的输出:
[AppClassLoader@14dad5dc] 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)
当我创建RoboVM Eclipse项目时,Eclipse给了我一个例外: 同样,当我尝试转到“设置”>“RoboVM”时,我也会得到这样的消息:
我的app.js: 我的Express.js: 给出错误:
任何人都不知道这个错误意味着什么。
根据它的Javadoc,将生成,其中的第一个值是subscribe和第一个next信号之间的经过时间。 以下测试不起作用 它将抛出异常: 我原以为经过的时间至少是1000ms,但结果只有11ms。
所以,简而言之。我有两节课。 它不断地抛出错误“不能对非静态方法gameStart()进行静态引用”。我肯定我错过了一些简单的东西,但找不到了。谢了!
问题内容: 我知道这会起作用: 但是如果我想打电话 我找到一些工作方法, 还有其他方法吗?我不知道这样做是否正确。您在JavaScript代码中使用类方法还是静态方法? 问题答案: 首先,请记住JavaScript主要是一种原型语言,而不是基于类的语言1。不是一个类,而是一个函数,这是一个对象。您可以使用关键字从该函数实例化一个对象,该关键字将允许您使用标准OOP语言创建类似于类的内容。 我建议大