什么会阻止自定义AnnotationProcessor定位带注释的类?
处理器和自定义注释是在与所注释的类所在的模块不同的模块中定义的:
| --
-- app
-- annotations
-- src/main/resources/META-INF/services/javax.annotation.processing.Processor
app模块在其gradle.properties中引用注释项目,如下所示:
annotationProcessor project(":annotations")
app模块的gradle.properties也定义了以下插件:
id 'net.ltgt.apt-idea' version "0.21"
自定义注释处理代码以通常的行开头:
public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnvironment) {
Set<?> elements = roundEnvironment.getElementsAnnotatedWith(UnitOfWork.class);
其中UnitOfWork是我的自定义注释。
更新1: 我已经将我的自定义注释处理器注册在注释/src/main/resources/META-INF/javax.annotation.processing.Processor中。