Java注释处理(自Java 6开始)是一个非常好的概念,因为它允许通过Element
接口(和其他)访问大量有关类和方法的信息。
但遗憾的是,我必须从经验上发现,未注释的类永远不会传递给自定义注释处理器:
warning: No SupportedAnnotationTypes annotation found on
my.TESTProcessor, returning an empty set.
我的发现是否属实?或者我可以“欺骗”编译器以提供有关非注释类的自定义注释处理器信息吗?
答案 0 :(得分:4)
大!
这给了我真正的所有类,而不仅仅是带注释的类:
@SupportedAnnotationTypes("*")
该anotation的规格说:
[...] Finally, "*" by itself represents the set of all annotation types,
including the empty set. Note that a processor should not claim "*"
unless it is actually processing all files [...]
经过测试,有效!