无法为此建议懒惰地构建 thisJoinPoint,因为它没有合适的守卫
Can not build thisJoinPoint lazily for this advice since it has no suitable guard
什么是 "suitable guard",它长什么样?
Linked this question 因为它指的是同一个编译器消息,答案提到了一个守卫,但没有提到如何创建一个。查看了 AspectJ 文档,但没有在那里找到和回答。
此 Lint 警告通常在 Eclipse 中的 AJDT(AspectJ 开发工具)中关闭,但您可以将其激活为警告甚至像这样的错误(我必须这样做才能在尝试时真正看到它重现您的问题):
您可以忽略 Lint 警告,因为基本上它只是说某些切入点无法在运行时懒惰地填充 thisJoinPoint
对象,因为切入点没有像 if()
这样的动态组件,cflow()
或类似的,这实际上是个好消息,因为这意味着您的所有连接点都可以在 compile/weave 时间内静态确定,因此比动态切入点更快。另一方面,警告说总是必须创建 tjp 对象,因为出于某种原因在运行时也总是需要它,因此不能延迟实例化。
什么是 "suitable guard",它长什么样?
Linked this question 因为它指的是同一个编译器消息,答案提到了一个守卫,但没有提到如何创建一个。查看了 AspectJ 文档,但没有在那里找到和回答。
此 Lint 警告通常在 Eclipse 中的 AJDT(AspectJ 开发工具)中关闭,但您可以将其激活为警告甚至像这样的错误(我必须这样做才能在尝试时真正看到它重现您的问题):
您可以忽略 Lint 警告,因为基本上它只是说某些切入点无法在运行时懒惰地填充 thisJoinPoint
对象,因为切入点没有像 if()
这样的动态组件,cflow()
或类似的,这实际上是个好消息,因为这意味着您的所有连接点都可以在 compile/weave 时间内静态确定,因此比动态切入点更快。另一方面,警告说总是必须创建 tjp 对象,因为出于某种原因在运行时也总是需要它,因此不能延迟实例化。