0

以下是我的注释定义,

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.SOURCE)
public @interface ErrorMap {
    String errorMapName();
    String errorMapPackage() default "com.company.dp.exceptions";
    String errorSetName() default "default";
    ErrorSet[] includedSets() default {};
}

@Target({ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.SOURCE)

public @interface ErrorSet {
    String name() default "default";
    String path();
}

我有一个扩展AbstractProcessor的ErrorMapProcessor

@Generated
@Slf4j
@SupportedAnnotationTypes("com.company.dp.exceptions.annotation.ErrorMap")
@SupportedSourceVersion(SourceVersion.RELEASE_11)
@AutoService(Processor.class)
public class ErrorMapProcessor extends AbstractProcessor {
    //business logic
}

在我的 gradle 文件中添加了以下内容,

//Annotation Processor
    implementation project(':AnnotationProcessor')
    testAnnotationProcessor project(':AnnotationProcessor')
    annotationProcessor project(':AnnotationProcessor')

我能够构建这个项目并将这个 jar 添加到另一个项目的类路径(build.gradle)中。在将 ErrorMapProcessor 添加到类路径后,我还可以在不同的项目中使用它生成的类。

但是即使在将框架 jar 添加到类路径之后,我也无法在新项目中使用@ErrorMap@ErrorSet注释。如何为不同的项目启用 @ErrorMap 和 @ErrorSet?

4

0 回答 0