我已经为我的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

通过添加此错误而消失

10-06 05:59