我已经为我的Android项目构建了一个注释处理器,该处理器使用JavaPoet构建了源文件。但是,每次我需要在任何JavaPoet对象上调用addModifiers
时,Android Studio都会将其标记为错误。它会说
Cannot resolve method addModifiers(javax.lang.model.element.Modifier)
或者
addModifiers(javax.lang.model.element.Modifier) cannot be applied to javax.lang.model.element.Modifier
取决于我正在调用该方法的对象。我已经多次检查两个完全合格的类名是否完全匹配。 JavaPoet中的这些方法使用VarArgs参数,但是由于我要编译为Java 7,所以应该没有什么区别。
现在开始了:程序包编译得很好,并创建了我的源文件。它只给我IDE中的错误,而不是javac运行时的错误。修饰符在生成的文件中是正确的。
因此,我想我想回答的是:如何摆脱IDE错误,该向谁报告?这是JavaPoet问题,Android Studio问题还是IntelliJ问题,还是我尚未考虑的问题?
最佳答案
这个问题就像这个
How to get a reference to Modifier.PUBLIC that can not be applied in builder in MethodSpec's methodBuilder for JavaPoet
您只需将此代码添加到build.gralde
implementation 'org.checkerframework:checker:2.1.10'
该错误将消失。错误是Andorid Studio错误,
此错误与下方相同
你可以引用下面
第一:https://github.com/square/javapoet/issues/632
通过添加此错误而消失