java如何使用AspectJ声明字段上的警告
我想在AspectJ中声明一个关于所有用@org.jboss.weld.context.ejb.Ejb
注释的字段的警告
但是我没有找到一种方法来选择这个字段
我想这方面应该是这样的:
public aspect WrongEjbAnnotationWarningAspect {
declare warning :
within(com.queomedia..*) &&
??? (@org.jboss.weld.context.ejb.Ejb)
: "WrongEjbAnnotationErrorAspect: use javax.ejb.EJB instead of weld Ejb!";
}
或者根本不可能在字段上声明警告
# 1 楼答案
我看到的唯一字段切入点是get和set。这是有意义的,因为方面主要是关于执行代码的。声明编译器警告是一个很好的附带好处。如果我们只讨论一个字段,独立于该字段的使用,什么时候切入点会被击中?我认为您应该能够使用Annotation Processing Tool而不是AspectJ来做您想做的事情。这里是第一次尝试,主要是从上面链接的工具网页上的示例复制而来
# 2 楼答案
有点同意@JohnWatts,但也觉得get()对你有用:
这将在任何试图使用
@org.jboss.weld.context.ejb.Ejb
注释的字段而不是字段本身的代码处显示警告,但作为编译时警告就足够了吗