我正在尝试开始创建一个javax注释处理器,我现在正在从android工作室做这件事。我只需要我认为的gradle依赖。现在在gradle我有以下我尝试过:
provided 'javax.annotation:jsr250-api:1.0'
但是当我尝试构建以下类时,它说它无法找到AbstractProcessor类:
class MyAnnotationProcessor extends AbstractProcessor{
}
如何识别这门课程?
这是确切的错误:
我的导入如下:
这是我的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)
答案 0 :(得分:7)
在Android库模块中无法访问AbstractProcessor。为了使它工作,你可以创建一个单独的" 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;
}
}
在主模块中添加此新创建的模块的依赖关系
编译并运行.. !!
答案 1 :(得分:-2)
我遇到了同样的问题,我找到了解决方案。请参阅以下链接: