gpt4 book ai didi

java - 无法扩展 AbstractProcessor 以创建 java 注释处理器

转载 作者:行者123 更新时间:2023-12-01 14:07:26 24 4
gpt4 key购买 nike

我正在尝试开始创建一个 javax 注释处理器,我现在是从 android studio 做的。我只需要我认为的 gradle 依赖项。现在在 gradle 中,我尝试过以下内容:

provided 'javax.annotation:jsr250-api:1.0'

但是当我尝试构建以下类时,它说它找不到 AbstractProcessor 类:
class MyAnnotationProcessor extends AbstractProcessor{
}

我如何让它识别这个类?

这是确切的错误:

enter image description here

我的进口看起来像这样:

enter image description here

这是我的java版本:
 $java -version 
Picked up JAVA_TOOL_OPTIONS: -Xmx512m -Xms64m
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)

最佳答案

AbstractProcessor 在 android 库模块中不可访问。要使其工作,您可以创建一个单独的“java 库”模块并将其依赖项添加到您的主模块中。以下是对我有用的解决方案的分步描述:

  • 在您的 android 项目中创建一个新模块。右键单击您的项目 -> 新建 -> 模块 -> 选择 Java 库
  • 按照说明添加模块名称,包名称等并完成
  • 现在在这个库中创建一个新类 CustomAnnotationProcessor 并扩展 AbstractProcessor
  • 以下是我的自定义注释处理器的快照:
    import java.util.Set;
    import javax.annotation.processing.AbstractProcessor;
    import javax.annotation.processing.RoundEnvironment;
    import javax.lang.model.element.TypeElement;

    public class CustomAnnotationProcessor extends AbstractProcessor{
    @Override
    public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
    return false;
    }
    }
  • 将 app/build.gradle 中的编译选项添加到 java 1.7。请参阅以下快照:
    enter image description here
  • 在主模块
  • 中添加这个新创建的模块的依赖项
  • 编译并运行..!!

  • 如果您喜欢我的回答,请不要忘记投票 :)

    关于java - 无法扩展 AbstractProcessor 以创建 java 注释处理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36024618/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com